diff --git a/lib-src/audacity-patches.txt b/lib-src/audacity-patches.txt index d60a5f36a..e3f683fd1 100644 --- a/lib-src/audacity-patches.txt +++ b/lib-src/audacity-patches.txt @@ -96,6 +96,8 @@ Patches: endian.m4, lrint.m4, llrint.m4, lrintf.m4, clip_mode.m4 copied from libsndfile's M4/. signal.m4 created out of the tail of acinclude.m4 with the remaining necessary macro + libsndfile-ppc-crash-on-some-id3-mp3s.patch - submitted to libsndfile + list on may 22 2012 (mchinen) AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds by default Upstream Version: 0.1.7 diff --git a/lib-src/libsndfile/libsndfile-ppc-crash-on-some-id3-mp3s.patch b/lib-src/libsndfile/libsndfile-ppc-crash-on-some-id3-mp3s.patch new file mode 100644 index 000000000..fba530292 --- /dev/null +++ b/lib-src/libsndfile/libsndfile-ppc-crash-on-some-id3-mp3s.patch @@ -0,0 +1,22 @@ +Index: libsndfile/src/id3.c +=================================================================== +--- libsndfile/src/id3.c (revision 11748) ++++ libsndfile/src/id3.c (working copy) +@@ -32,7 +32,7 @@ + { unsigned char buf [10] ; + + memset (buf, 0, sizeof (buf)) ; +- psf_binheader_readf (psf, "pb", 0, buf, 10) ; ++ psf_binheader_readf (psf, "pb", (size_t)0, buf, 10) ; + + if (buf [0] == 'I' && buf [1] == 'D' && buf [2] == '3') + { int offset = buf [6] & 0x7f ; +@@ -48,7 +48,7 @@ + + /* Calculate new file offset and position ourselves there. */ + psf->fileoffset += offset + 10 ; +- psf_binheader_readf (psf, "p", psf->fileoffset) ; ++ psf_binheader_readf (psf, "p", (size_t)psf->fileoffset) ; + + return 1 ; + } ; diff --git a/lib-src/libsndfile/src/id3.c b/lib-src/libsndfile/src/id3.c index 2fd0a0b97..8d1b72987 100644 --- a/lib-src/libsndfile/src/id3.c +++ b/lib-src/libsndfile/src/id3.c @@ -32,7 +32,7 @@ id3_skip (SF_PRIVATE * psf) { unsigned char buf [10] ; memset (buf, 0, sizeof (buf)) ; - psf_binheader_readf (psf, "pb", 0, buf, 10) ; + psf_binheader_readf (psf, "pb", (size_t)0, buf, 10) ; if (buf [0] == 'I' && buf [1] == 'D' && buf [2] == '3') { int offset = buf [6] & 0x7f ; @@ -48,7 +48,7 @@ id3_skip (SF_PRIVATE * psf) /* Calculate new file offset and position ourselves there. */ psf->fileoffset += offset + 10 ; - psf_binheader_readf (psf, "p", psf->fileoffset) ; + psf_binheader_readf (psf, "p", (size_t)psf->fileoffset) ; return 1 ; } ;