Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Dec 2016 16:45:00 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r310607 - stable/9/bin/pax
Message-ID:  <201612261645.uBQGj03c000966@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Mon Dec 26 16:45:00 2016
New Revision: 310607
URL: https://svnweb.freebsd.org/changeset/base/310607

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/9/bin/pax/buf_subs.c

Modified: stable/9/bin/pax/buf_subs.c
==============================================================================
--- stable/9/bin/pax/buf_subs.c	Mon Dec 26 16:43:39 2016	(r310606)
+++ stable/9/bin/pax/buf_subs.c	Mon Dec 26 16:45:00 2016	(r310607)
@@ -853,10 +853,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);
 		}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612261645.uBQGj03c000966>