]> git.sesse.net Git - ffmpeg/commitdiff
Revert "mpeg4videodec: raise an error if sprite_trajectory.table is NULL"
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 23 Jan 2021 16:52:52 +0000 (17:52 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 27 Jan 2021 10:53:22 +0000 (11:53 +0100)
This reverts commit 6ac0e7818399a57e4684202bac79f35b3561ad1e.

The mpeg4video parser can reach code that presumes that a certain VLC
has been initialized; yet Libav did not ensure this and Libav bug #1012
[1] is about an ensuing crash.

Instead of fixing the root cause a simple check for whether said VLC
has already been initialized was added; said check is inherently racy.

The proper fix is of course to ensure that the VLC is initialized and
commit 7c76eaeca2791261d3f4f5c98c95f44abdbd879a already ensured this,
so there was no need to merge 6ac0e7818399a57e4684202bac79f35b3561ad1e
at all. This commit therefore reverts said commit.

[1]: https://bugzilla.libav.org/show_bug.cgi?id=1012

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/mpeg4videodec.c

index 102e83f5c101ab900468097db44c21702a5b5160..fd985f043057ca950c7e291659e9847582de3c8d 100644 (file)
@@ -197,10 +197,6 @@ static int mpeg4_decode_sprite_trajectory(Mpeg4DecContext *ctx, GetBitContext *g
     if (w <= 0 || h <= 0)
         return AVERROR_INVALIDDATA;
 
-    /* the decoder was not properly initialized and we cannot continue */
-    if (sprite_trajectory.table == NULL)
-        return AVERROR_INVALIDDATA;
-
     for (i = 0; i < ctx->num_sprite_warping_points; i++) {
         int length;
         int x = 0, y = 0;