From: Haihao Xiang <haihao.xi...@intel.com>

offset_w might be updated after growing the FIFO

Fix ticket #9630

Tested-by: U. Artie Eoff <ullysses.a.e...@intel.com>
Reviewed-by: mkver
Reviewed-by: U. Artie Eoff <ullysses.a.e...@intel.com>
Signed-off-by: Haihao Xiang <haihao.xi...@intel.com>
---
 libavutil/fifo.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavutil/fifo.c b/libavutil/fifo.c
index 0af0154945..02e0ec3f0d 100644
--- a/libavutil/fifo.c
+++ b/libavutil/fifo.c
@@ -147,13 +147,15 @@ static int fifo_write_common(AVFifo *f, const uint8_t 
*buf, size_t *nb_elems,
                              AVFifoCB read_cb, void *opaque)
 {
     size_t to_write = *nb_elems;
-    size_t offset_w = f->offset_w;
+    size_t offset_w;
     int         ret = 0;
 
     ret = fifo_check_space(f, to_write);
     if (ret < 0)
         return ret;
 
+    offset_w = f->offset_w;
+
     while (to_write > 0) {
         size_t    len = FFMIN(f->nb_elems - offset_w, to_write);
         uint8_t *wptr = f->buffer + offset_w * f->elem_size;
-- 
2.17.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to