[FFmpeg-cvslog] avcodec/vvcdec: schedule next stage only if the current stage reports no error

Nuo Mi git at videolan.org
Sat Nov 30 04:06:56 EET 2024


ffmpeg | branch: master | Nuo Mi <nuomi2021 at gmail.com> | Sat Nov 23 17:32:37 2024 +0800| [eb67e60cb004c17ecbbd43c6e3c6732c19de5d33] | committer: Nuo Mi

avcodec/vvcdec: schedule next stage only if the current stage reports no error

If the current stage reports an error, some variables may not be correctly initialized.
Scheduling the next stage could lead to the use of uninitialized variables.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=eb67e60cb004c17ecbbd43c6e3c6732c19de5d33
---

 libavcodec/vvc/thread.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vvc/thread.c b/libavcodec/vvc/thread.c
index f623d6a394..77778f8358 100644
--- a/libavcodec/vvc/thread.c
+++ b/libavcodec/vvc/thread.c
@@ -656,9 +656,9 @@ static void task_run_stage(VVCTask *t, VVCContext *s, VVCLocalContext *lc)
                 "frame %5d, %s(%3d, %3d) failed with %d\r\n",
                 (int)fc->decode_order, task_name[stage], t->rx, t->ry, ret);
         }
+        if (!ret)
+            task_stage_done(t, s);
     }
-
-    task_stage_done(t, s);
     return;
 }
 



More information about the ffmpeg-cvslog mailing list