aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-03-03 03:37:52 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-05-03 00:28:35 +0200
commitdb041fd115eeb3c7209bbb2b6e676bc061f6b09b (patch)
tree5fca46bd40697e32ae961db8e3190d748a19a2ab /libavcodec
parent7a877418e30b09a724684e5bc8742d864d35e31d (diff)
downloadffmpeg-db041fd115eeb3c7209bbb2b6e676bc061f6b09b.tar.gz
qpeg: Fix out of array writes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/qpeg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/qpeg.c b/libavcodec/qpeg.c
index bbb9f71aae..adbeff03ae 100644
--- a/libavcodec/qpeg.c
+++ b/libavcodec/qpeg.c
@@ -203,6 +203,8 @@ static void qpeg_decode_inter(const uint8_t *src, uint8_t *dst, int size,
filled = 0;
dst -= stride;
height--;
+ if(height < 0)
+ break;
}
}
} else if(code >= 0xC0) { /* copy code: 0xC0..0xDF */
@@ -214,6 +216,8 @@ static void qpeg_decode_inter(const uint8_t *src, uint8_t *dst, int size,
filled = 0;
dst -= stride;
height--;
+ if(height < 0)
+ break;
}
}
size -= code + 1;