[BusyBox 0000347]: tar: Decompression failed returns exit status 0 even error happened

bugs at busybox.net bugs at busybox.net
Mon Dec 19 15:14:21 UTC 2005


A NOTE has been added to this issue. 
====================================================================== 
http://busybox.net/bugs/view.php?id=347 
====================================================================== 
Reported By:                robang74
Assigned To:                BusyBox
====================================================================== 
Project:                    BusyBox
Issue ID:                   347
Category:                   Standards Compliance
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
====================================================================== 
Date Submitted:             07-21-2005 14:57 PDT
Last Modified:              12-19-2005 07:14 PST
====================================================================== 
Summary:                    tar: Decompression failed returns exit status 0 even
error happened
Description: 
BEFORE (original 1.00 on the embbedded device):

root at embeslax:~# cd /tmp
root at embeslax:/tmp# dd if=/dev/zero of=pippo.tar.bz2 bs=1k count=1
1+0 records in
1+0 records out
root at embeslax:/tmp# tar xjf pippo.tar.bz2; echo $?
tar: Decompression failed
0

AFTER (patched on my workstation): 

bash-2.05b# dd if=/dev/zero of=pippo.tar.bz2 bs=1k count=1
0+0 records in
0+0 records out
bash-2.05b# _install/bin/tar xjf pippo.tar.bz2; echo $?
tar: Decompression failed
255

====================================================================== 

---------------------------------------------------------------------- 
 robang74 - 07-21-05 15:00  
---------------------------------------------------------------------- 
This patch affects rpm too. 

---------------------------------------------------------------------- 
 robang74 - 12-19-05 07:14  
---------------------------------------------------------------------- 
> On Thursday 11 August 2005 07:42, Mike Frysinger wrote:
>>
>>in general you seem to declare local variables when they arent really
>>needed ... that just adds overhead most of the time
>>
>>also, your extract_cpio_gz function changes are incomplete, some places
>>still declare it as void ...

> Date: Thu, 11 Aug 2005 22:24:47 -0500
> From: Rob Landley <rob at landley.net>
> 
> I just looked at it.  It's a good patch, needs a bit of cleanup (the
return 
> value of the transformer might as well be what we exit with) but I can
do 
> that.
> 


 I developed new 1.01 patch to fix my code crap as indicated by Mike.

 About what pointed by Rob, I did not and the explaination follows.

 Every possible I use try_or_die and in the open_transform -1 as error
code.
 The open_transformer use a function passed by parameter as transformer
and that function it is required returns 0 in case of success and another
value in case of failure. But who use open_transformer expect to have a
fd_pipe integer back. I would not deliver them an integer which could be
confused as a valid fd_pipe, so I return -1 value. Return -EINVAL could be
good too. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
07-21-05 14:57  robang74       New Issue                                    
07-21-05 14:57  robang74       Status                   new => assigned     
07-21-05 14:57  robang74       Assigned To               => BusyBox         
07-21-05 14:57  robang74       File Added: busybox-1.00_raf.diff                
   
07-21-05 15:00  robang74       Note Added: 0000337                          
12-19-05 06:50  robang74       Issue Monitored: robang74                    
12-19-05 07:14  robang74       Note Added: 0000801                          
======================================================================




More information about the busybox-cvs mailing list