mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat/mov: Check for string truncation in mov_open_dref()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
21a53dd08d
commit
8003816e16
@ -2600,7 +2600,7 @@ static int mov_open_dref(AVIOContext **pb, const char *src, MOVDref *ref,
|
|||||||
/* try relative path, we do not try the absolute because it can leak information about our
|
/* try relative path, we do not try the absolute because it can leak information about our
|
||||||
system to an attacker */
|
system to an attacker */
|
||||||
if (ref->nlvl_to > 0 && ref->nlvl_from > 0) {
|
if (ref->nlvl_to > 0 && ref->nlvl_from > 0) {
|
||||||
char filename[1024];
|
char filename[1025];
|
||||||
const char *src_path;
|
const char *src_path;
|
||||||
int i, l;
|
int i, l;
|
||||||
|
|
||||||
@ -2630,6 +2630,8 @@ static int mov_open_dref(AVIOContext **pb, const char *src, MOVDref *ref,
|
|||||||
|
|
||||||
av_strlcat(filename, ref->path + l + 1, sizeof(filename));
|
av_strlcat(filename, ref->path + l + 1, sizeof(filename));
|
||||||
|
|
||||||
|
if (strlen(filename) + 1 == sizeof(filename))
|
||||||
|
return AVERROR(ENOENT);
|
||||||
if (!avio_open2(pb, filename, AVIO_FLAG_READ, int_cb, NULL))
|
if (!avio_open2(pb, filename, AVIO_FLAG_READ, int_cb, NULL))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user