asn1: Avoid undefined shifts by adding explicit cast

The error was:
asn1.c:681:23: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
	    #0 0x5e9b11 in decode_bit_field opensc/src/libopensc/asn1.c:681:23

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18487
This commit is contained in:
Jakub Jelen 2019-10-24 11:27:29 +02:00 committed by Frank Morgner
parent 0d091c8e0c
commit cc466eea94
1 changed files with 1 additions and 1 deletions

View File

@ -678,7 +678,7 @@ static int decode_bit_field(const u8 * inbuf, size_t inlen, void *outbuf, size_t
return n;
for (i = 0; i < n; i += 8) {
field |= (data[i/8] << i);
field |= ((unsigned int) data[i/8] << i);
}
memcpy(outbuf, &field, outlen);
return 0;