Closed Bug 383984 Opened 17 years ago Closed 9 years ago

Wrong XLEN of gzip extra field in HTTP Compress converter

Categories

(Core :: Networking: HTTP, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 234031

People

(Reporter: jinq0123, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
Build Identifier: firefox-2.0.0.4-source

I think it must be a typo. 
In file netwerk/streamconv/converters/nsHTTPCompressConv.cpp:

            case GZIP_EXTRA1:
                iStr->Read(&c, 1, &rv);
                streamLen--;
-               mLen = ((uInt) c & 0377) << 8;
+               mLen |= ((uInt) c & 0377) << 8;
                mSkipCount = 0;
                hMode = GZIP_EXTRA2;
                break;

mLen should be calculated from 2 bytes XLEN according to rfc1952:

      (if FLG.FEXTRA set)

         +---+---+=================================+
         | XLEN  |...XLEN bytes of "extra field"...| (more-->)
         +---+---+=================================+



Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.