Author: pfg
Date: Mon Dec 26 16:43:39 2016
New Revision: 310606
URL: https://svnweb.freebsd.org/changeset/base/310606

Log:
  MFC r310367:
  pax(1):       Fix a bug with archives smaller than 512 bytes.
  
  The problem here is that the archive is too short (< 512 bytes). The
  buffer routines, try to read at least 512 bytes, even when we try to
  determine what format file we have, which is wrong.
  
  Obtained from:        NetBSD (CVS rev 1.26)

Modified:
  stable/10/bin/pax/buf_subs.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/bin/pax/buf_subs.c
==============================================================================
--- stable/10/bin/pax/buf_subs.c        Mon Dec 26 16:42:38 2016        
(r310605)
+++ stable/10/bin/pax/buf_subs.c        Mon Dec 26 16:43:39 2016        
(r310606)
@@ -852,10 +852,13 @@ buf_fill(void)
 
                /*
                 * errors require resync, EOF goes to next archive
+                * but in case we have not determined yet the format,
+                * this means that we have a very short file, so we
+                * are done again.
                 */
                if (cnt < 0)
                        break;
-               if (ar_next() < 0) {
+               if (frmt == NULL || ar_next() < 0) {
                        fini = 1;
                        return(0);
                }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to