- st->codec->extradata_size = data_size;
- st->codec->extradata = av_malloc(data_size);
- if (!st->codec->extradata)
+ if (data_size < 3 || data_size > 768 || data_size % 3) {
+ av_log(s, AV_LOG_ERROR, "Invalid CMAP chunk size %"PRIu32"\n",
+ data_size);
+ return AVERROR_INVALIDDATA;
+ }
+ st->codecpar->extradata_size = data_size;
+ st->codecpar->extradata = av_malloc(data_size);
+ if (!st->codecpar->extradata)