avcodec/hevc: allocate entries unconditionally
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 27 Nov 2015 22:33:03 +0000 (23:33 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 27 Nov 2015 22:37:42 +0000 (23:37 +0100)
Fixes out of array access
Fixes: 08664a2a7921ef48172f26495c7455be/asan_heap-oob_23036c6_3301_523388ef84285a0270caf67a43247b59.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/hevc.c

index e9f27a4..6edfcdf 100644 (file)
@@ -2452,11 +2452,9 @@ static int hls_slice_data_wpp(HEVCContext *s, const HEVCNAL *nal)
         return AVERROR(ENOMEM);
     }
 
+    ff_alloc_entries(s->avctx, s->sh.num_entry_point_offsets + 1);
 
     if (!s->sList[1]) {
-        ff_alloc_entries(s->avctx, s->sh.num_entry_point_offsets + 1);
-
-
         for (i = 1; i < s->threads_number; i++) {
             s->sList[i] = av_malloc(sizeof(HEVCContext));
             memcpy(s->sList[i], s, sizeof(HEVCContext));