diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-11 17:28:25 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-11 18:12:24 +0200 |
commit | 2b97cc2e5beef06e78a1a85d9b12d832cfea8e03 (patch) | |
tree | 61c93b583db5e1d946aa57b04766276f81b0ad9a | |
parent | 94c20de429420f541aba2d371c6175e8658f8353 (diff) | |
download | ffmpeg-2b97cc2e5beef06e78a1a85d9b12d832cfea8e03.tar.gz |
avformat/mov: Pass MovContext into mov_open_dref()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/mov.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 54930a4052..0f63d224c0 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2599,8 +2599,8 @@ static void mov_build_index(MOVContext *mov, AVStream *st) } } -static int mov_open_dref(AVIOContext **pb, const char *src, MOVDref *ref, - AVIOInterruptCB *int_cb, int use_absolute_path, AVFormatContext *fc) +static int mov_open_dref(MOVContext *c, AVIOContext **pb, const char *src, MOVDref *ref, + AVIOInterruptCB *int_cb) { /* try relative path, we do not try the absolute because it can leak information about our system to an attacker */ @@ -2634,7 +2634,7 @@ static int mov_open_dref(AVIOContext **pb, const char *src, MOVDref *ref, av_strlcat(filename, "../", sizeof(filename)); av_strlcat(filename, ref->path + l + 1, sizeof(filename)); - if (!use_absolute_path) + if (!c->use_absolute_path) if(strstr(ref->path + l + 1, "..") || ref->nlvl_from > 1) return AVERROR(ENOENT); @@ -2643,8 +2643,8 @@ static int mov_open_dref(AVIOContext **pb, const char *src, MOVDref *ref, if (!avio_open2(pb, filename, AVIO_FLAG_READ, int_cb, NULL)) return 0; } - } else if (use_absolute_path) { - av_log(fc, AV_LOG_WARNING, "Using absolute path on user request, " + } else if (c->use_absolute_path) { + av_log(c->fc, AV_LOG_WARNING, "Using absolute path on user request, " "this is a possible security issue\n"); if (!avio_open2(pb, ref->path, AVIO_FLAG_READ, int_cb, NULL)) return 0; @@ -2698,8 +2698,8 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (sc->dref_id-1 < sc->drefs_count && sc->drefs[sc->dref_id-1].path) { MOVDref *dref = &sc->drefs[sc->dref_id - 1]; - if (mov_open_dref(&sc->pb, c->fc->filename, dref, &c->fc->interrupt_callback, - c->use_absolute_path, c->fc) < 0) + if (mov_open_dref(c, &sc->pb, c->fc->filename, dref, + &c->fc->interrupt_callback) < 0) av_log(c->fc, AV_LOG_ERROR, "stream %d, error opening alias: path='%s', dir='%s', " "filename='%s', volume='%s', nlvl_from=%d, nlvl_to=%d\n", |