mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-06 15:21:15 +00:00
fftools/cmdutils: tighten condition for media type stream specifiers
Require the character indicating media type to be followed by a non-alphanumeric character (or end of string). Needed by future syntax extensions.
This commit is contained in:
parent
8707c8660d
commit
00f5a34c9a
@ -988,6 +988,12 @@ FILE *get_preset_file(char *filename, size_t filename_size,
|
|||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int cmdutils_isalnum(char c)
|
||||||
|
{
|
||||||
|
return (c >= '0' && c <= '9') ||
|
||||||
|
(c >= 'A' && c <= 'Z') ||
|
||||||
|
(c >= 'a' && c <= 'z');
|
||||||
|
}
|
||||||
|
|
||||||
void stream_specifier_uninit(StreamSpecifier *ss)
|
void stream_specifier_uninit(StreamSpecifier *ss)
|
||||||
{
|
{
|
||||||
@ -1024,8 +1030,9 @@ int stream_specifier_parse(StreamSpecifier *ss, const char *spec,
|
|||||||
|
|
||||||
// this terminates the specifier
|
// this terminates the specifier
|
||||||
break;
|
break;
|
||||||
} else if (*spec == 'v' || *spec == 'a' || *spec == 's' || *spec == 'd' ||
|
} else if ((*spec == 'v' || *spec == 'a' || *spec == 's' ||
|
||||||
*spec == 't' || *spec == 'V') { /* opt:[vasdtV] */
|
*spec == 'd' || *spec == 't' || *spec == 'V') &&
|
||||||
|
!cmdutils_isalnum(*(spec + 1))) { /* opt:[vasdtV] */
|
||||||
if (ss->media_type != AVMEDIA_TYPE_UNKNOWN) {
|
if (ss->media_type != AVMEDIA_TYPE_UNKNOWN) {
|
||||||
av_log(logctx, AV_LOG_ERROR, "Stream type specified multiple times\n");
|
av_log(logctx, AV_LOG_ERROR, "Stream type specified multiple times\n");
|
||||||
ret = AVERROR(EINVAL);
|
ret = AVERROR(EINVAL);
|
||||||
|
Loading…
Reference in New Issue
Block a user