37 lines
1.4 KiB
Diff
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);
|
|
}
|