[FFmpeg-cvslog] r14221 - trunk/libavcodec/utils.c

Baptiste Coudurier baptiste.coudurier
Wed Jul 16 07:07:05 CEST 2008


Baptiste Coudurier wrote:
> Hi,
> 
> stefano wrote:
>> Author: stefano
>> Date: Sun Jul 13 23:44:00 2008
>> New Revision: 14221
>>
>> Log:
>> strdup() the default value for rc_eq in AVCodec when setting it in
>> avcodec_get_context_defaults(). The value has to be alloced dinamically
>> rather than statically since it may be freed for example by
>> av_set_string2(). Fix a segmentation fault.
>>
>>
>> Modified:
>>    trunk/libavcodec/utils.c
>>
>> Modified: trunk/libavcodec/utils.c
>> ==============================================================================
>> --- trunk/libavcodec/utils.c	(original)
>> +++ trunk/libavcodec/utils.c	Sun Jul 13 23:44:00 2008
>> @@ -741,7 +741,7 @@ void avcodec_get_context_defaults2(AVCod
>>          flags= AV_OPT_FLAG_SUBTITLE_PARAM;
>>      av_opt_set_defaults2(s, flags, flags);
>>  
>> -    s->rc_eq= "tex^qComp";
>> +    s->rc_eq= av_strdup("tex^qComp");
>>      s->time_base= (AVRational){0,1};
>>      s->get_buffer= avcodec_default_get_buffer;
>>      s->release_buffer= avcodec_default_release_buffer;
> 
> I think avcodec_close must now free it.
> 

And according to valgrind, if you now use a new rc_eq, there is a memleak.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
Smartjog USA Inc.                                http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA




More information about the ffmpeg-cvslog mailing list