aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-10-27 20:48:58 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-10-27 21:16:55 +0100
commit5c791b1c9ce0edab69d4aa9b17a967a3b3792a07 (patch)
tree090680c5e58c80f575b0ab0f168de7def3eaa374
parent4a03c31728c833f8d4a959f6de4837234560ca3d (diff)
downloadffmpeg-5c791b1c9ce0edab69d4aa9b17a967a3b3792a07.tar.gz
avcodec/sgidec: fix count check
Fixes: asan_heap-oob_22b30d4_39_038.sgi Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit a050cf0c451bdf1c1bd512c4fce6b6f8a5e85102) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/sgidec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c
index 8338863637..3ddbf77bc8 100644
--- a/libavcodec/sgidec.c
+++ b/libavcodec/sgidec.c
@@ -98,7 +98,7 @@ static int expand_rle_row16(SgiState *s, uint16_t *out_buf,
break;
/* Check for buffer overflow. */
- if (pixelstride * (count - 1) >= len) {
+ if (out_end - out_buf <= pixelstride * (count - 1)) {
av_log(s->avctx, AV_LOG_ERROR, "Invalid pixel count.\n");
return AVERROR_INVALIDDATA;
}