diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-09 12:03:57 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-09 12:05:03 +0100 |
commit | ce1ebb31a9a0e556a89cd7681082af19fbc1cced (patch) | |
tree | 81d0f938812c043d8e8efc00d139fedc5a10412e /libavcodec | |
parent | 1b5a6d3c4966fb67d79445aca9c1ad6c1ecbdd4b (diff) | |
download | ffmpeg-ce1ebb31a9a0e556a89cd7681082af19fbc1cced.tar.gz |
tiffdec: use checked reads for tget*()
Fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/tiff.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c index 34dd42dbf0..5d9f80105e 100644 --- a/libavcodec/tiff.c +++ b/libavcodec/tiff.c @@ -67,26 +67,26 @@ typedef struct TiffContext { static unsigned tget_short(GetByteContext *gb, int le) { - unsigned v = le ? bytestream2_get_le16u(gb) : bytestream2_get_be16u(gb); + unsigned v = le ? bytestream2_get_le16(gb) : bytestream2_get_be16(gb); return v; } static unsigned tget_long(GetByteContext *gb, int le) { - unsigned v = le ? bytestream2_get_le32u(gb) : bytestream2_get_be32u(gb); + unsigned v = le ? bytestream2_get_le32(gb) : bytestream2_get_be32(gb); return v; } static double tget_double(GetByteContext *gb, int le) { - av_alias64 i = { .u64 = le ? bytestream2_get_le64u(gb) : bytestream2_get_be64u(gb)}; + av_alias64 i = { .u64 = le ? bytestream2_get_le64(gb) : bytestream2_get_be64(gb)}; return i.f64; } static unsigned tget(GetByteContext *gb, int type, int le) { switch (type) { - case TIFF_BYTE : return bytestream2_get_byteu(gb); + case TIFF_BYTE : return bytestream2_get_byte(gb); case TIFF_SHORT: return tget_short(gb, le); case TIFF_LONG : return tget_long(gb, le); default : return UINT_MAX; |