Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame^] | 1 | From c17a0ad1df15a94d0b1239adc2afb593bdf0a153 Mon Sep 17 00:00:00 2001 |
| 2 | From: Michael Niedermayer <michaelni@gmx.at> |
| 3 | Date: Fri, 3 Oct 2014 22:50:45 +0200 |
| 4 | Subject: [PATCH 1/2] avcodec/smc: fix off by 1 error |
| 5 | |
| 6 | Upstream-Status: Backport |
| 7 | |
| 8 | Fixes out of array access |
| 9 | Fixes: asan_heap-oob_1685bf0_5_asan_heap-oob_1f35116_430_smc.mov |
| 10 | |
| 11 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind |
| 12 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> |
| 13 | --- |
| 14 | libavcodec/smc.c | 2 +- |
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 16 | |
| 17 | diff --git a/gst-libs/ext/libav/libavcodec/smc.c b/gst-libs/ext/libav/libavcodec/smc.c |
| 18 | index 3cd5e53..dec9f71 100644 |
| 19 | --- a/gst-libs/ext/libav/libavcodec/smc.c |
| 20 | +++ b/gst-libs/ext/libav/libavcodec/smc.c |
| 21 | @@ -69,7 +69,7 @@ typedef struct SmcContext { |
| 22 | row_ptr += stride * 4; \ |
| 23 | } \ |
| 24 | total_blocks--; \ |
| 25 | - if (total_blocks < 0) \ |
| 26 | + if (total_blocks < 0 + !!n_blocks) \ |
| 27 | { \ |
| 28 | av_log(s->avctx, AV_LOG_INFO, "warning: block counter just went negative (this should not happen)\n"); \ |
| 29 | return; \ |
| 30 | -- |
| 31 | 2.1.0 |
| 32 | |