On Fri, Sep 08, 2017 at 07:01:03AM +0200, Otto Moerbeek wrote: > Indeed, better diff,
OK bluhm@ > Index: tar.c > =================================================================== > RCS file: /cvs/src/bin/pax/tar.c,v > retrieving revision 1.63 > diff -u -p -r1.63 tar.c > --- tar.c 26 Aug 2016 04:11:16 -0000 1.63 > +++ tar.c 8 Sep 2017 05:00:10 -0000 > @@ -1209,7 +1209,7 @@ static int > rd_xheader(ARCHD *arcn, int global, off_t size) > { > char buf[MAXXHDRSZ]; > - unsigned long len; > + long len; > char *delim, *keyword; > char *nextp, *p, *end; > int pad, ret = 0; > @@ -1247,8 +1247,8 @@ rd_xheader(ARCHD *arcn, int global, off_ > break; > } > errno = 0; > - len = strtoul(p, &delim, 10); > - if (*delim != ' ' || (errno == ERANGE && len == ULONG_MAX) || > + len = strtol(p, &delim, 10); > + if (*delim != ' ' || (errno == ERANGE && len == LONG_MAX) || > len < MINXHDRSZ) { > paxwarn(1, "Invalid extended header record length"); > ret = -1; >