} else if (!strcmp(name, "ORIENTATION")) {
if (var_read_int(pb, size) == 1101) {
st->codecpar->extradata = av_strdup("BottomUp");
+ if (!st->codecpar->extradata)
+ return AVERROR(ENOMEM);
st->codecpar->extradata_size = 9;
}
} else if (!strcmp(name, "Q_SPATIAL") || !strcmp(name, "Q_TEMPORAL")) {
if ((ret = read_table(avctx, NULL, parse_global_var)) < 0)
return ret;
+ if (mv->nb_audio_tracks < 0 || mv->nb_video_tracks < 0 ||
+ (mv->nb_audio_tracks == 0 && mv->nb_video_tracks == 0)) {
+ av_log(avctx, AV_LOG_ERROR, "Stream count is invalid.\n");
+ return AVERROR_INVALIDDATA;
+ }
+
if (mv->nb_audio_tracks > 1) {
avpriv_request_sample(avctx, "Multiple audio streams support");
return AVERROR_PATCHWELCOME;