[FFmpeg-devel] [PATCH 1/3] diracdec: use correct buffer for slice_params_buf realloc

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Fri Nov 4 20:10:52 EET 2016


This fixes a double-free detected by AddressSanitizer.

The problem was introduced in commit
dcad4677d637cd2f701917e38361fa96b8c9a418.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
---
 libavcodec/diracdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index b183fad..5c669ff 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -907,7 +907,7 @@ static int decode_lowdelay(DiracContext *s)
     int slice_num = 0;
 
     if (s->slice_params_num_buf != (s->num_x * s->num_y)) {
-        s->slice_params_buf = av_realloc_f(s->thread_buf, s->num_x * s->num_y, sizeof(DiracSlice));
+        s->slice_params_buf = av_realloc_f(s->slice_params_buf, s->num_x * s->num_y, sizeof(DiracSlice));
         if (!s->slice_params_buf) {
             av_log(s->avctx, AV_LOG_ERROR, "slice params buffer allocation failure\n");
             return AVERROR(ENOMEM);
-- 
2.10.1


More information about the ffmpeg-devel mailing list