Hi, Am Dienstag, den 29.04.2014, 10:31 -0500 schrieb Patrick Baggett: > A quick google result shows this source file is likely where the issue > actually exists: > http://hackage.haskell.org/package/cryptohash-0.4/src/cbits/md5.c > > > > md5_update() -> md5_do_chunk(). > > > This uses the macro cpu_to_le32_array(), which in turn comes to > array_swap32(): > > > static inline void array_swap32(uint32_t *d, uint32_t *s, uint32_t nb) > { > while (nb--) > *d++ = swap32(*s++); > } > This loads a uint32_t from *s, swaps the byte order, then stores into > *d. If either *s or *d are not aligned pointers (i.e. low 2 bits of > address are 0), then SPARC will generate a SIGBUS and crash. I would > bet money that patching this function will resolve the issue (and > probably other issues if this function is used elsewhere).
Great! > I can write up a patch for it, but I'm not sure how to get it accepted > upstream. Well, we can apply it locally first, of course. But I’m sure that the original authors will be happy to receive it via https://github.com/vincenthz/hs-cryptohash/issues Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nome...@debian.org | ICQ# 74513189 | GPG-Keyid: F0FBF51F JID: nome...@joachim-breitner.de | http://people.debian.org/~nomeata
signature.asc
Description: This is a digitally signed message part