]>
Commit | Line | Data |
---|---|---|
c192dc6f MT |
1 | http://cvs.fedoraproject.org/viewvc/devel/gzip/gzip-1.3.5-cve-2006-4338.patch?view=co |
2 | ||
3 | http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4338 | |
4 | ||
5 | --- gzip-1.3.3/unlzh.c.4338 2006-09-07 10:49:31.000000000 +0200 | |
6 | +++ gzip-1.3.3/unlzh.c 2006-09-07 11:37:53.000000000 +0200 | |
7 | @@ -260,7 +260,7 @@ | |
8 | if (bitbuf & mask) c = right[c]; | |
9 | else c = left [c]; | |
10 | mask >>= 1; | |
11 | - } while (c >= NT); | |
12 | + } while (c >= NT && (mask || c != left[c])); | |
13 | } | |
14 | fillbuf((int) pt_len[c]); | |
15 | if (c <= 2) { | |
16 | @@ -296,7 +296,7 @@ | |
17 | if (bitbuf & mask) j = right[j]; | |
18 | else j = left [j]; | |
19 | mask >>= 1; | |
20 | - } while (j >= NC); | |
21 | + } while (j >= NC && (mask || j != left[j])); | |
22 | } | |
23 | fillbuf((int) c_len[j]); | |
24 | return j; | |
25 | @@ -313,7 +313,7 @@ | |
26 | if (bitbuf & mask) j = right[j]; | |
27 | else j = left [j]; | |
28 | mask >>= 1; | |
29 | - } while (j >= NP); | |
30 | + } while (j >= NP && (mask || j != left[j])); | |
31 | } | |
32 | fillbuf((int) pt_len[j]); | |
33 | if (j != 0) j = ((unsigned) 1 << (j - 1)) + getbits((int) (j - 1)); |