Debian bug report logs - #1358
tar can't extract device numbers stored using cpio -Hustar

Package: tar; Reported by: Ian Jackson <iwj10@cus.cam.ac.uk>; 47 days old.

Message received at debian-bugs:


From cus.cam.ac.uk!iwj10 Thu Sep 14 12:54:56 1995
Return-Path: <iwj10@cus.cam.ac.uk>
Received: from pixar.com by mongo.pixar.com with smtp
	(Smail3.1.28.1 #15) id m0stKN6-0002DBA; Thu, 14 Sep 95 12:54 PDT
Received: from bootes.cus.cam.ac.uk by pixar.com with SMTP id AA22383
  (5.67b/IDA-1.5 for debian-bugs-pipe@mongo.pixar.com); Thu, 14 Sep 1995 12:54:37 -0700
Received: by bootes.cus.cam.ac.uk 
	(Smail-3.1.29.0 #36) id m0stKMw-000BzkA; Thu, 14 Sep 95 20:54 BST
Received: by chiark
	id <m0stJNt-0002ZbA@chiark.al.cl.cam.ac.uk>
	(Debian /\oo/\ Smail3.1.29.1 #29.33); Thu, 14 Sep 95 19:51 BST
Message-Id: <m0stJNt-0002ZbA@chiark.al.cl.cam.ac.uk>
Date: Thu, 14 Sep 95 19:51 BST
From: Ian Jackson <iwj10@cus.cam.ac.uk>
To: Debian bugs submission address <debian-bugs@pixar.com>
X-Debian-Cc: Nick Maclaren <nmm1@cus.cam.ac.uk>
Subject: tar can't extract device numbers stored using cpio -Hustar
Precedence: air-mail

Package: tar
Version: 1.11.8-1

chiark:~/junk> cd /dev
chiark:/dev> echo null | cpio -Hustar -O/u/ian/junk/t -vo
null
3 blocks
chiark:/dev> tar vvtf ~/junk/t
tar: Blocksize = 3 records
crw-rw-rw- 0/3             0,0 Mar 30 21:18 1995 null
chiark:/dev> cd ~/junk/
chiark:~/junk> really tar vvxf t 
tar: Blocksize = 3 records
crw-rw-rw- 0/3             0,0 Mar 30 21:18 1995 null
chiark:~/junk> ll null 
crw-rw-r--   1 root     sys        0,   0 Mar 30 21:18 null
chiark:~/junk> ll /dev/null 
crw-rw-rw-   1 root     sys        1,   3 Mar 30 21:18 /dev/null
chiark:~/junk> cpio -tv -Ft
crw-rw-rw-   1 root     sys        1,   3 Mar 30 21:18 null
2 blocks
chiark:~/junk> rm null 
rm: remove `null', overriding mode 0664? y
chiark:~/junk> really cpio -iv -Ft
null
2 blocks
chiark:~/junk> ll null 
crw-rw-rw-   1 root     sys        1,   3 Sep 14 19:38 null
chiark:~/junk> gzip -9v <t | uuencode t.gz
 94.6%
begin 664 t.gz
M'XL(`!]V6#`"`\LKS<EAH#%0,#(P,S-38%```0,H;0REH6*FYL9F9H:&!F:&
M0'%#`Q-S<P4&8P8Z@-+BDL0B!@.#HOS\$GSJBBN+\7L2!`P1GAL%HV`4C()!
*#@#(#'K>``8```8Z
`
end
chiark:~/junk>

This is a bug in tar, not cpio.  cpio writes the device number fields
using something resembling what snprintf(buf,8,"%7o\0",number) would
do if null weren't the string terminator.  (At least, I think it's
octal.)  This kind of nastiness in tar headers is common, and tar
needs to cope with it.

Ian.

Acknowledgement sent to Ian Jackson <iwj10@cus.cam.ac.uk>:
New bug report received and forwarded. Copy sent to Nick Maclaren <nmm1@cus.cam.ac.uk>. Full text available.
Report forwarded to debian-devel@pixar.com:
Bug#1358; Package tar. Full text available.
Ian Jackson / iwj10@thor.cam.ac.uk, with the debian-bugs tracking mechanism
This page last modified 07:43:01 GMT Wed 01 Nov