File opensc-0_19_0-CVE-2019-15945.patch of Package opensc.33736
Index: opensc-0.19.0/src/libopensc/asn1.c
===================================================================
--- opensc-0.19.0.orig/src/libopensc/asn1.c
+++ opensc-0.19.0/src/libopensc/asn1.c
@@ -570,16 +570,21 @@ static int decode_bit_string(const u8 *
{
const u8 *in = inbuf;
u8 *out = (u8 *) outbuf;
- int zero_bits = *in & 0x07;
- size_t octets_left = inlen - 1;
int i, count = 0;
+ int zero_bits;
+ size_t octets_left;
+
+ zero_bits = *in & 0x07;
+ octets_left = inlen - 1;
- memset(outbuf, 0, outlen);
- in++;
if (outlen < octets_left)
return SC_ERROR_BUFFER_TOO_SMALL;
if (inlen < 1)
return SC_ERROR_INVALID_ASN1_OBJECT;
+
+ in++;
+ memset(outbuf, 0, outlen);
+
while (octets_left) {
/* 1st octet of input: ABCDEFGH, where A is the MSB */
/* 1st octet of output: HGFEDCBA, where A is the LSB */