python-awscrt/SOURCES/der-c.patch

37 lines
1.4 KiB
Diff

--- a/crt/aws-c-cal/source/der.c 2025-08-29 10:43:04.487705098 +0100
+++ B/crt/aws-c-cal/source/der.c 2025-08-29 14:27:00.649373755 +0100
@@ -80,21 +80,28 @@
if (len_bytes & 0x80) {
len_bytes &= 0x7f;
switch (len_bytes) {
- case 1:
- if (!aws_byte_cursor_read_u8(cur, (uint8_t *)&len)) {
+ case 1: {
+ uint8_t len8;
+ if (!aws_byte_cursor_read_u8(cur, &len8)) {
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
}
+ len = len8;
break;
- case 2:
- if (!aws_byte_cursor_read_be16(cur, (uint16_t *)&len)) {
+ }
+ case 2: {
+ uint16_t len16;
+ if (!aws_byte_cursor_read_be16(cur, &len16)) {
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
}
+ len = len16;
break;
- case 4:
+ }
+ case 4: {
if (!aws_byte_cursor_read_be32(cur, &len)) {
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
}
break;
+ }
default:
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
}