src/jdk.pack/share/native/common-unpack/zip.cpp
changeset 50522 99f4d3b6d487
parent 50514 2a524e603529
child 50884 11b3e9c1aa5e
equal deleted inserted replaced
50521:32ab7150a270 50522:99f4d3b6d487
   531   assert(minlen <= maxlen);  // don't talk nonsense
   531   assert(minlen <= maxlen);  // don't talk nonsense
   532   jlong numread = 0;
   532   jlong numread = 0;
   533   char* bufptr = (char*) buf;
   533   char* bufptr = (char*) buf;
   534   char* inbuf = u->gzin->inbuf;
   534   char* inbuf = u->gzin->inbuf;
   535   size_t inbuflen = sizeof(u->gzin->inbuf);
   535   size_t inbuflen = sizeof(u->gzin->inbuf);
   536   // capture return values from fread to avoid -Werror=unused-result issues
       
   537   size_t ret = 0;
       
   538   unpacker::read_input_fn_t read_gzin_fn =
   536   unpacker::read_input_fn_t read_gzin_fn =
   539     (unpacker::read_input_fn_t) u->gzin->read_input_fn;
   537     (unpacker::read_input_fn_t) u->gzin->read_input_fn;
   540   z_stream& zs = *(z_stream*) u->gzin->zstream;
   538   z_stream& zs = *(z_stream*) u->gzin->zstream;
   541   while (numread < minlen) {
   539   while (numread < minlen) {
   542     int readlen = (1 << 16);  // pretty arbitrary
   540     int readlen = (1 << 16);  // pretty arbitrary
   579       if (u->gzin->gzcrc != 0) {
   577       if (u->gzin->gzcrc != 0) {
   580         // Read the CRC information from the gzip container
   578         // Read the CRC information from the gzip container
   581         fseek(u->infileptr, -TRAILER_LEN, SEEK_END);
   579         fseek(u->infileptr, -TRAILER_LEN, SEEK_END);
   582         uint filecrc;
   580         uint filecrc;
   583         uint filelen;
   581         uint filelen;
   584         ret = fread(&filecrc, sizeof(filecrc), 1, u->infileptr);
   582         fread(&filecrc, sizeof(filecrc), 1, u->infileptr);
   585         ret = fread(&filelen, sizeof(filelen), 1, u->infileptr);
   583         fread(&filelen, sizeof(filelen), 1, u->infileptr);
   586         filecrc = SWAP_INT(filecrc);
   584         filecrc = SWAP_INT(filecrc);
   587         filelen = SWAP_INT(filelen);
   585         filelen = SWAP_INT(filelen);
   588         if (u->gzin->gzcrc != filecrc ||
   586         if (u->gzin->gzcrc != filecrc ||
   589                 // rfc1952; ISIZE is the input size modulo 2^32
   587                 // rfc1952; ISIZE is the input size modulo 2^32
   590                 u->gzin->gzlen != (filelen & 0xffffffff)) { // CRC error
   588                 u->gzin->gzlen != (filelen & 0xffffffff)) { // CRC error