Re: [FFmpeg-devel] [PATCH 1/2] cafdec: check avio_read return value

2015-05-13 Thread Andreas Cadhalpun
On 13.05.2015 00:46, Carl Eugen Hoyos wrote:
 Andreas Cadhalpun andreas.cadhalpun at googlemail.com writes:
 
 If avio_read fails, the buffer can contain uninitialized values.
 
 Patch ok.

Pushed.

Best regards,
Andreas

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/2] cafdec: check avio_read return value

2015-05-12 Thread Andreas Cadhalpun
If avio_read fails, the buffer can contain uninitialized values.

Signed-off-by: Andreas Cadhalpun andreas.cadhal...@googlemail.com
---
 libavformat/cafdec.c | 17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c
index e31c0a5..abbb353 100644
--- a/libavformat/cafdec.c
+++ b/libavformat/cafdec.c
@@ -129,7 +129,10 @@ static int read_kuki_chunk(AVFormatContext *s, int64_t 
size)
 avio_skip(pb, size);
 return AVERROR_INVALIDDATA;
 }
-avio_read(pb, preamble, ALAC_PREAMBLE);
+if (avio_read(pb, preamble, ALAC_PREAMBLE) != ALAC_PREAMBLE) {
+av_log(s, AV_LOG_ERROR, failed to read preamble\n);
+return AVERROR_INVALIDDATA;
+}
 
 if (ff_alloc_extradata(st-codec, ALAC_HEADER))
 return AVERROR(ENOMEM);
@@ -144,14 +147,22 @@ static int read_kuki_chunk(AVFormatContext *s, int64_t 
size)
 av_freep(st-codec-extradata);
 return AVERROR_INVALIDDATA;
 }
-avio_read(pb, st-codec-extradata, ALAC_HEADER);
+if (avio_read(pb, st-codec-extradata, ALAC_HEADER) != 
ALAC_HEADER) {
+av_log(s, AV_LOG_ERROR, failed to read kuki header\n);
+av_freep(st-codec-extradata);
+return AVERROR_INVALIDDATA;
+}
 avio_skip(pb, size - ALAC_PREAMBLE - ALAC_HEADER);
 } else {
 AV_WB32(st-codec-extradata, 36);
 memcpy(st-codec-extradata[4], alac, 4);
 AV_WB32(st-codec-extradata[8], 0);
 memcpy(st-codec-extradata[12], preamble, 12);
-avio_read(pb, st-codec-extradata[24], ALAC_NEW_KUKI - 12);
+if (avio_read(pb, st-codec-extradata[24], ALAC_NEW_KUKI - 12) 
!= ALAC_NEW_KUKI - 12) {
+av_log(s, AV_LOG_ERROR, failed to read new kuki header\n);
+av_freep(st-codec-extradata);
+return AVERROR_INVALIDDATA;
+}
 avio_skip(pb, size - ALAC_NEW_KUKI);
 }
 } else {
-- 
2.1.4
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/2] cafdec: check avio_read return value

2015-05-12 Thread Carl Eugen Hoyos
Andreas Cadhalpun andreas.cadhalpun at googlemail.com writes:

 If avio_read fails, the buffer can contain uninitialized values.

Patch ok.

Carl Eugen

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel