svn commit: r310367 - head/bin/pax

Pedro F. Giffuni pfg at FreeBSD.org
Wed Dec 21 15:27:00 UTC 2016


Author: pfg
Date: Wed Dec 21 15:26:59 2016
New Revision: 310367
URL: https://svnweb.freebsd.org/changeset/base/310367

Log:
  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)
  MFC after:	5 days

Modified:
  head/bin/pax/buf_subs.c

Modified: head/bin/pax/buf_subs.c
==============================================================================
--- head/bin/pax/buf_subs.c	Wed Dec 21 15:17:47 2016	(r310366)
+++ head/bin/pax/buf_subs.c	Wed Dec 21 15:26:59 2016	(r310367)
@@ -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);
 		}


More information about the svn-src-all mailing list