synced lib32-libjpeg-turbo with non-lib32 version
[chakra-packages:lib32.git] / lib32-libjpeg-turbo / cve-2013-6629.patch
1 Index: jdmarker.c
2 ===================================================================
3 --- jdmarker.c  (revision 1088)
4 +++ jdmarker.c  (revision 1089)
5 @@ -304,7 +304,7 @@
6  /* Process a SOS marker */
7  {
8    INT32 length;
9 -  int i, ci, n, c, cc;
10 +  int i, ci, n, c, cc, pi;
11    jpeg_component_info * compptr;
12    INPUT_VARS(cinfo);
13  
14 @@ -348,6 +348,13 @@
15      
16      TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc,
17              compptr->dc_tbl_no, compptr->ac_tbl_no);
18 +
19 +    /* This CSi (cc) should differ from the previous CSi */
20 +    for (pi = 0; pi < i; pi++) {
21 +      if (cinfo->cur_comp_info[pi] == compptr) {
22 +        ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc);
23 +      }
24 +    }
25    }
26  
27    /* Collect the additional scan parameters Ss, Se, Ah/Al. */
28 @@ -465,6 +472,8 @@
29      for (i = 0; i < count; i++)
30        INPUT_BYTE(cinfo, huffval[i], return FALSE);
31  
32 +    MEMZERO(&huffval[count], (256 - count) * SIZEOF(UINT8));
33 +
34      length -= count;
35  
36      if (index & 0x10) {                /* AC table definition */