You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
replace (disabled by default) assert(0) by abort() if the picture buffer
overflows due to a buggy codec note, ive not checked if such overflows could have been exploitable before this commit Originally committed as revision 10777 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@@ -842,7 +842,19 @@ int ff_find_unused_picture(MpegEncContext *s, int shared){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(0);
|
av_log(s->avctx, AV_LOG_FATAL, "Internal error, picture buffer overflow\n");
|
||||||
|
/*we could return -1 but the codec would crash anyway, trying to draw
|
||||||
|
into, a non existing frame, this is safer than waiting for a random crash
|
||||||
|
also the return of this is never usefull, a encoder must only allocate
|
||||||
|
as many as allowed in the spec which has no relation to how many lavc
|
||||||
|
could allocate (and MAX_PICTURE_COUNT is always large enough for such
|
||||||
|
valid streams)
|
||||||
|
and a decoder has to check stream validity and remove frames if too many
|
||||||
|
reference frames are around. waiting for "OOM" is not correct at all, it
|
||||||
|
similarely has to replace missing reference frames by (interpolated/MC)
|
||||||
|
frames anything else is a bug in the codec ...
|
||||||
|
*/
|
||||||
|
abort();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user