[FFmpeg-devel] [PATCH] Fix segmentation fault when encoding CODEC_ID_PCM_F32BE frames

Michael Niedermayer michaelni
Sat Aug 9 21:22:17 CEST 2008


On Sat, Aug 09, 2008 at 08:03:55PM +0200, Stefano Sabatini wrote:
> On date Saturday 2008-08-09 18:39:40 +0200, Michael Niedermayer encoded:
> > On Sat, Aug 09, 2008 at 12:40:47PM +0200, Stefano Sabatini wrote:
> > > Hi all,
> > > 
> > > this fixes segfaults in the PCM regression tests.
> > > 
> > > This seems due to the compiler (gcc 4.2) getting confused by this snippet:
> > > 
> > >     {
> > >         int32_t *samples = samples;
> > >         ^^^^^^^^^^^^^^^^^^^^^^^^^^
> > >         for(;n>0;n--) {
> > >             register int32_t v = *samples++ + 0;
> > >             bytestream_put_be32(&dst, v);
> > >         }
> > >     }
> > > 
> > > I'm not sure this is the right fix though.
> > > 
> > > Regards.
> > > -- 
> > > FFmpeg = Foolish and Fast Mastering Proud Excellent Gangster
> > 
> > > Index: libavcodec/pcm.c
> > > ===================================================================
> > > --- libavcodec/pcm.c	(revision 14673)
> > > +++ libavcodec/pcm.c	(working copy)
> > > @@ -171,9 +171,9 @@
> > >   */
> > >  #define ENCODE(type, endian, src, dst, n, offset) \
> > >  { \
> > > -    type *samples = src; \
> > > +    type *samples2 = (type *)src; \
> > 
> > why the cast?
> 
> Fix a warning (yes, this is another patch).
> 
> > and samples2 is hardly the proper solution
> > ENCODE_s would be less likely to clash
> 
> Not understanding here, do you mean samples_ rather than samples2?

i mean that using the name of the macro as prefix is likely more
effective than a 2 at the in avoiding a name clash, the _ might
work as well if you prefer

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I hate to see young programmers poisoned by the kind of thinking
Ulrich Drepper puts forward since it is simply too narrow -- Roman Shaposhnik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080809/74e8fd0e/attachment.pgp>



More information about the ffmpeg-devel mailing list