1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00
audacity/lib-src/libsndfile/libsndfile-ppc-crash-on-some-id3-mp3s.patch
mchinen 9a621647be Fix Bug 504 (P2) - PPC Macs crash importing MP3 files with "guess_file_type" error
in id3.c: psf->fileoffset is a sf_count_t, which is int64_t, which is
larger than size_t on a G4 PPC.
Since psf_binheader_readf expects that argument to be the smaller
size_t, it ends up seeking over and over to the zero position since
the larger bits of the variable are all zeros.
Patch simply casts to size_t.

Patch sent upstream as well.
2012-05-24 01:04:14 +00:00

23 lines
716 B
Diff

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 ;
} ;