oma: check avio_read() return value
authorMans Rullgard <mans@mansr.com>
Wed, 1 Jun 2011 16:30:28 +0000 (17:30 +0100)
committerMans Rullgard <mans@mansr.com>
Thu, 2 Jun 2011 19:06:18 +0000 (20:06 +0100)
libavformat/oma.c

index 6dd56cf..6fdf75f 100644 (file)
@@ -80,6 +80,8 @@ static int oma_read_header(AVFormatContext *s,
 
     ff_id3v2_read(s, ID3v2_EA3_MAGIC);
     ret = avio_read(s->pb, buf, EA3_HEADER_SIZE);
+    if (ret < EA3_HEADER_SIZE)
+        return -1;
 
     if (memcmp(buf, ((const uint8_t[]){'E', 'A', '3'}),3) || buf[4] != 0 || buf[5] != EA3_HEADER_SIZE) {
         av_log(s, AV_LOG_ERROR, "Couldn't find the EA3 header !\n");