Package: partclone Version: 0.2.22-2 Severity: important Tags: upstream patch
This bug is mentioned online once http://sourceforge.net/projects/clonezilla/forums/forum/799287/topic/4500041 with the fix being to use an x86 version. I can confirm that the x86 debian package works from a chroot. On amd64 hfsplusclone detects the hfs partition as being empty. The bug is due to explicit use of long in hfsplusclone.h and expecting it to be 32-bit. The attached patch resolves the amd64 bug for me and also still works in the x86 chroot, tested by cloning and restoring an hfsplus partition. This bug persists in the latest 0.2.24 upstream. -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-1-amd64 (SMP w/6 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages partclone depends on: ii e2fslibs 1.42~WIP-2011-07-02-1 ext2/ext3/ext4 file system librari ii libc6 2.13-10 Embedded GNU C Library: Shared lib ii libcomerr2 1.42~WIP-2011-07-02-1 common error description library ii libncursesw5 5.9-1 shared libraries for terminal hand ii libntfs10 2.0.0-1+b1 library that provides common NTFS ii libuuid1 2.19.1-4 Universally Unique ID library partclone recommends no packages. partclone suggests no packages. -- no debconf information
diff -u orig-partclone-0.2.22/src//hfsplusclone.c partclone-0.2.22/src//hfsplusclone.c --- orig-partclone-0.2.22/src//hfsplusclone.c 2011-03-28 00:19:59.000000000 -0700 +++ partclone-0.2.22/src//hfsplusclone.c 2011-08-05 10:23:56.000000000 -0700 @@ -128,8 +128,8 @@ UInt32 bused = 0, bfree = 0, mused = 0; UInt32 block = 0, extent_block = 0, tb = 0, i = 0; int allocation_exten = 0; - long int allocation_start_block; - long int allocation_block_size; + UInt32 allocation_start_block; + UInt32 allocation_block_size; int start = 0; int bit_size = 1; diff -u orig-partclone-0.2.22/src//hfsplusclone.h partclone-0.2.22/src//hfsplusclone.h --- orig-partclone-0.2.22/src//hfsplusclone.h 2011-03-28 00:19:59.000000000 -0700 +++ partclone-0.2.22/src//hfsplusclone.h 2011-08-05 10:23:56.000000000 -0700 @@ -11,11 +11,10 @@ * (at your option) any later version. */ - -typedef unsigned char UInt8; -typedef unsigned short int UInt16; -typedef unsigned long int UInt32; -typedef unsigned long long int UInt64; +typedef uint8_t UInt8; +typedef uint16_t UInt16; +typedef uint32_t UInt32; +typedef uint64_t UInt64; typedef UInt32 HFSCatalogNodeID;