diff -urN unzip60-orig/extract.c unzip60/extract.c --- unzip60-orig/extract.c 2009-03-14 10:32:52 +0900 +++ unzip60/extract.c 2012-01-30 22:20:59 +0900 @@ -1255,7 +1255,7 @@ if (G.lrec.compression_method == STORED) { zusz_t csiz_decrypted = G.lrec.csize; - if (G.pInfo->encrypted) + if (G.pInfo->encrypted && csiz_decrypted > 0) csiz_decrypted -= 12; if (G.lrec.ucsize != csiz_decrypted) { Info(slide, 0x401, ((char *)slide, @@ -1270,7 +1270,7 @@ } #if CRYPT - if (G.pInfo->encrypted && + if (G.pInfo->encrypted && G.lrec.csize > 0 && (error = decrypt(__G__ uO.pwdarg)) != PK_COOL) { if (error == PK_WARN) { if (!((uO.tflag && uO.qflag) || (!uO.tflag && !QCOND2)))