Package: cloop-utils Version: 2.01.5-3 Severity: important create_compressed_fs add extra block to the compressed image if the size of the original image is a multiple of the block size. You can verify this by the following simple test: % head -c 65536 /dev/zero > uncompressed.iso % create_compressed_fs uncompressed.iso 65536 > compressed.iso % extract_compressed_fs compressed.iso > uncompressed2.iso % ls -l uncompressed.iso uncompressed2.iso ... 131072 Feb 20 16:02 uncompressed2.iso ... 65536 Feb 20 16:02 uncompressed.iso
I've attached the patch fixing the problem. Cheers, Igor -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.9 Locale: LANG=C, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R) Versions of packages cloop-utils depends on: ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libgcc1 1:3.4.3-9 GCC support library ii libstdc++5 1:3.3.5-8 The GNU Standard C++ Library v3 ii zlib1g 1:1.2.2-4 compression library - runtime -- no debconf information
--- cloop-2.01.5/create_compressed_fs.c.orig 2005-02-20 15:45:37.461085843 -0500 +++ cloop-2.01.5/create_compressed_fs.c 2005-02-20 15:42:28.573507361 -0500 @@ -94,6 +94,8 @@ if(r<=0) { last=1; break; } total+=r; } + if (total == 0) + break; total_uncompressed += total; if (total != blocksize) { --- cloop-2.01.5/advancecomp-1.9_create_compressed_fs/advfs.cc.orig 2005-02-20 15:45:54.029058097 -0500 +++ cloop-2.01.5/advancecomp-1.9_create_compressed_fs/advfs.cc 2005-02-20 15:42:47.281119726 -0500 @@ -91,6 +91,8 @@ if(r<=0) { last=1; break; } total+=r; } + if (total == 0) + break; total_uncompressed += total; if (total != blocksize) {