Module: libav
Branch: master
Commit: 9286de045968ad456d4e752651eec22de5e89060

Author:    Vittorio Giovara <[email protected]>
Committer: Vittorio Giovara <[email protected]>
Date:      Tue Apr  7 15:06:05 2015 +0200

mov: Double-check that alias path is not an absolute path

nlvl_to and nlvl_from can be set to 1 if both alias and target files
are in the same directory, so actually check the first character of the
string. We can do this because MacOS filepaths (alis type 2) are always
converted to UNIX filepaths (alis type 18).

---

 libavformat/mov.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 2704dfb..70fa1e0 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2301,7 +2301,7 @@ static int mov_open_dref(AVIOContext **pb, char *src, 
MOVDref *ref,
 {
     /* try relative path, we do not try the absolute because it can leak 
information about our
        system to an attacker */
-    if (ref->nlvl_to > 0 && ref->nlvl_from > 0) {
+    if (ref->nlvl_to > 0 && ref->nlvl_from > 0 && ref->path[0] != '/') {
         char filename[1024];
         char *src_path;
         int i, l;

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to