svn commit: trunk/busybox/archival/libunarchive

vda at busybox.net vda at busybox.net
Tue Apr 29 03:54:16 UTC 2008


Author: vda
Date: 2008-04-28 20:54:16 -0700 (Mon, 28 Apr 2008)
New Revision: 21888

Log:
tar: fix the case where long base names can be ignored



Modified:
   trunk/busybox/archival/libunarchive/get_header_tar.c


Changeset:
Modified: trunk/busybox/archival/libunarchive/get_header_tar.c
===================================================================
--- trunk/busybox/archival/libunarchive/get_header_tar.c	2008-04-29 02:43:23 UTC (rev 21887)
+++ trunk/busybox/archival/libunarchive/get_header_tar.c	2008-04-29 03:54:16 UTC (rev 21888)
@@ -211,9 +211,12 @@
 	/* getOctal trashes subsequent field, therefore we call it
 	 * on fields in reverse order */
 	if (tar.devmajor[0]) {
+		char t = tar.prefix[0];
+		/* we trash prefix[0] here, but we DO need it later! */
 		unsigned minor = GET_OCTAL(tar.devminor);
 		unsigned major = GET_OCTAL(tar.devmajor);
 		file_header->device = makedev(major, minor);
+		tar.prefix[0] = t;
 	}
 	file_header->link_target = NULL;
 	if (!linkname && parse_names && tar.linkname[0]) {




More information about the busybox-cvs mailing list