macutils compiled on x86-64 uses 64 bit integers for 32-bit CRC calculations

Bug #2136046 reported by Joseph Oswald
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
macutils (Debian)
New
Unknown
macutils (Ubuntu)
New
Undecided
Unassigned

Bug Description

Using macunpack from macutils to unpack a CompactPro archive results in an error message

     Header CRC mismatch: got 0x79c895e4, need 0xebae4ed4

However, the CPT file unpacks successfully using CompactPro 1.52 on an emulated Macintosh.

It appears the problem is that macunpack uses (unsigned long) 64-bit integers for the computation of the "Zip CRC", but the CRC computation of CompactPro only uses 32 bits.

Patching several unsigned long -> uint32_t values allows macunpack to decode the archive.

Tags: patch
Revision history for this message
Joseph Oswald (oz617) wrote :
Changed in macutils (Debian):
status: Unknown → New
Revision history for this message
Joseph Oswald (oz617) wrote :

Hopefully, this is a properly formatted patch for a minimal change to crc/makecrc.c

I attempted to use git-buildpackage and git format-patch.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "0001-crc-makecrc.c-use-explictly-sized-uint16-32_t-types.patch" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.