avcodec/hevc_ps: Check return code from pps_range_extensions()
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Nov 2014 01:31:46 +0000 (02:31 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 6 Jan 2015 17:25:51 +0000 (18:25 +0100)
Fixes out of array read
Fixes: asan_heap-oob_177e222_885_cov_1532528832_MERGE_D_TI_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9f9440bd8122cc8798139c9370db0873a24ae14b)

Conflicts:

libavcodec/hevc_ps.c

libavcodec/hevc_ps.c

index 98d987d..357ff75 100644 (file)
@@ -1289,7 +1289,8 @@ int ff_hevc_decode_nal_pps(HEVCContext *s)
         if (sps->ptl.general_ptl.profile_idc == FF_PROFILE_HEVC_REXT && pps_range_extensions_flag) {
             av_log(s->avctx, AV_LOG_ERROR,
                    "PPS extension flag is partially implemented.\n");
-            pps_range_extensions(s, pps, sps);
+            if ((ret = pps_range_extensions(s, pps, sps)) < 0)
+                goto err;
         }
     }