Path: blob/main/archivers/arc/files/patch-arcio.c
16149 views
--- arcio.c.orig 2010-08-07 13:06:42 UTC1+++ arcio.c2@@ -46,7 +46,7 @@ readhdr(hdr, f) /* read a header from3return 0; /* then signal end of archive */45if (hdrver != ARCMARK) { /* check archive validity */6- if (warn) {7+ if (arcwarn) {8printf("An entry in %s has a bad header.\n", arcname);9nerrs++;10}11@@ -67,10 +67,10 @@ readhdr(hdr, f) /* read a header from12if (feof(f) && first)13arcdie("%s is not an archive", arcname);1415- if (changing && warn)16+ if (changing && arcwarn)17arcdie("%s is corrupted -- changes disallowed", arcname);1819- if (warn)20+ if (arcwarn)21printf(" %d bytes skipped.\n", try);2223if (feof(f))24@@ -118,7 +118,8 @@ readhdr(hdr, f) /* read a header from25hdr->crc = (short) ((dummy[22] << 8) + dummy[21]);26for (i = 0, hdr->length=0; i<4; hdr->length<<=8, hdr->length += dummy[26-i], i++);27#endif28-29+ if (hdr->size < 0)30+ arcdie("Invalid header in archive %s", arcname);31if (hdr->date > olddate32|| (hdr->date == olddate && hdr->time > oldtime)) {33olddate = hdr->date;343536