lavfi/frei0r: correctly handle paths longer than 1023 chars
authorStefano Sabatini <stefasab@gmail.com>
Mon, 29 Oct 2012 17:33:11 +0000 (18:33 +0100)
committerStefano Sabatini <stefasab@gmail.com>
Tue, 13 Nov 2012 21:41:01 +0000 (22:41 +0100)
libavfilter/vf_frei0r.c

index 9928113..2935394 100644 (file)
@@ -236,9 +236,11 @@ static av_cold int frei0r_init(AVFilterContext *ctx,
         av_free(path);
     }
     if (!frei0r->dl_handle && (path = getenv("HOME"))) {
-        char prefix[1024];
-        snprintf(prefix, sizeof(prefix), "%s/.frei0r-1/lib/", path);
+        char *prefix = av_asprintf("%s/.frei0r-1/lib/", path);
+        if (!prefix)
+            return AVERROR(ENOMEM);
         frei0r->dl_handle = load_path(ctx, prefix, dl_name);
+        av_free(prefix);
     }
     if (!frei0r->dl_handle)
         frei0r->dl_handle = load_path(ctx, "/usr/local/lib/frei0r-1/", dl_name);