mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
rtpdec_mpeg4: validate fmtp fields
This commit is contained in:
parent
46e3936fb0
commit
24130234cd
@ -290,11 +290,22 @@ static int parse_fmtp(AVFormatContext *s,
|
||||
for (i = 0; attr_names[i].str; ++i) {
|
||||
if (!av_strcasecmp(attr, attr_names[i].str)) {
|
||||
if (attr_names[i].type == ATTR_NAME_TYPE_INT) {
|
||||
int val = atoi(value);
|
||||
if (val > 32) {
|
||||
av_log(s, AV_LOG_ERROR,
|
||||
"The %s field size is invalid (%d).",
|
||||
attr, val);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
*(int *)((char *)data+
|
||||
attr_names[i].offset) = atoi(value);
|
||||
} else if (attr_names[i].type == ATTR_NAME_TYPE_STR)
|
||||
attr_names[i].offset) = val;
|
||||
} else if (attr_names[i].type == ATTR_NAME_TYPE_STR) {
|
||||
char *val = av_strdup(value);
|
||||
if (!val)
|
||||
return AVERROR(ENOMEM);
|
||||
*(char **)((char *)data+
|
||||
attr_names[i].offset) = av_strdup(value);
|
||||
attr_names[i].offset) = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user