[Ffmpeg-devel] Bug in libavcodec/utils.c as of r5799
Ross Mellgren
r
Thu Jul 20 02:24:01 CEST 2006
Hey,
Spent today tracking down a bug in the bookkeeping in utils.c which
caused a segfault in ffmpeg-php with apache, and thought I'd share so
maybe someone could commit it.
The bug is that when av_free_static is called, it nulls array_static,
but does not reset the bookkeeping counters allocated_static and
last_static, which caused av_fast_realloc to later return a NULL (the
current value of array_static), causing in my case init_rl to
segfault. Clearing out these counters in av_free_static mops up the
issue.
-Ross
--- ffmpeg/libavcodec/utils.c 2006-07-18 07:00:55.000000000 -0400
+++ ffmpeg.new/libavcodec/utils.c 2006-07-19 20:03:06.000000000
-0400
@@ -144,10 +144,12 @@
{
while(last_static){
av_freep(&array_static[--last_static]);
}
av_freep(&array_static);
+ allocated_static = 0;
+ last_static = 0;
}
/**
* Call av_free_static automatically before it's too late
*/
More information about the ffmpeg-devel
mailing list