CC: libav-stable@libav.org
Bug-Id: CID 732203 / CID 732204
... | ... |
@@ -96,14 +96,17 @@ static int mtv_read_header(AVFormatContext *s) |
96 | 96 |
|
97 | 97 |
/* Calculate width and height if missing from header */ |
98 | 98 |
|
99 |
- if(!mtv->img_width) |
|
99 |
+ if (!mtv->img_width && mtv->img_height > 0 && mtv->img_bpp >= 8) |
|
100 | 100 |
mtv->img_width=mtv->img_segment_size / (mtv->img_bpp>>3) |
101 | 101 |
/ mtv->img_height; |
102 | 102 |
|
103 |
- if(!mtv->img_height) |
|
103 |
+ if (!mtv->img_height && mtv->img_width > 0 && mtv->img_bpp >= 8) |
|
104 | 104 |
mtv->img_height=mtv->img_segment_size / (mtv->img_bpp>>3) |
105 | 105 |
/ mtv->img_width; |
106 | 106 |
|
107 |
+ if (!mtv->img_width || !mtv->img_height) |
|
108 |
+ return AVERROR_INVALIDDATA; |
|
109 |
+ |
|
107 | 110 |
avio_skip(pb, 4); |
108 | 111 |
audio_subsegments = avio_rl16(pb); |
109 | 112 |
|