bug-cpio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-cpio] 64 bit system checksum bug still not fixed?


From: David G. Pickett
Subject: [Bug-cpio] 64 bit system checksum bug still not fixed?
Date: Thu, 16 Feb 2012 17:03:54 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111229 Thunderbird/9.0

I went to use Gnu cpio 2.11 on the very latest Ubuntu with my favorite options to duplicate a tree, and got a shock:

$ ( cd .src/ic6_int
     find | grep -Ev '\.svn([-/]|$)' | gcpio -oaH crc
   )|(
     mkdir .src/ic6_int-clean
     .src/ic6_int-clean
     rm -rf * .??*
     gcpio -idmH crc
)
gcpio: eti_3rdparty/tarfiles/qpid-0.8.tar.gz: checksum error (0x1c9ebca74, should be 0xc9ebca74)
gcpio: doc/Doc_Convert/xxe-pro-5_1_1-setup.exe: checksum error (0x170b19461, should be 0x70b19461)
1674013 blocks
1674013 blocks

Googling around, I found the 2005 bug fix where the checksum is trimmed to 32 bits with '& 0xffffffff':

http://lists.gnu.org/archive/html/bug-cpio/2005-10/msg00013.html

So, I changed 2.11 files in a somewhat similar fashion, and it no longer complains.  Maybe the middle bit is the winner.

1. What happened to the fix these 7 years?

2. Is this a proper (portable) fix?

extern unsigned int crc;
".src/cpio-2.11/src/extern.h" line 78 of 219 --35%-- col 17


  return crc & 0xffffffff ;
".src/cpio-2.11/src/copyout.c" line 62 of 898 --6%-- col 10


unsigned int crc;
".src/cpio-2.11/src/global.c" line 147 of 195 --75%-- col 10

reply via email to

[Prev in Thread] Current Thread [Next in Thread]