[FFmpeg-cvslog] r12691 - trunk/libavfilter/avfiltergraph.c

vitor subversion
Fri Apr 4 22:06:11 CEST 2008


Author: vitor
Date: Fri Apr  4 22:06:10 2008
New Revision: 12691

Log:
Don't mangle the input strings.  The caller may want to reuse it later.

Commited in SoC by Bobby Bingham on 2007-07-15 16:13:17


Modified:
   trunk/libavfilter/avfiltergraph.c

Modified: trunk/libavfilter/avfiltergraph.c
==============================================================================
--- trunk/libavfilter/avfiltergraph.c	(original)
+++ trunk/libavfilter/avfiltergraph.c	Fri Apr  4 22:06:10 2008
@@ -22,6 +22,7 @@
 #include <string.h>
 #include <stddef.h>
 
+#include "avstring.h"
 #include "avfilter.h"
 #include "avfiltergraph.h"
 
@@ -55,16 +56,17 @@ void avfilter_graph_add_filter(AVFilterG
     graph->filters[graph->filter_count - 1] = filter;
 }
 
-static AVFilterContext *create_filter_with_args(char *filter)
+static AVFilterContext *create_filter_with_args(const char *filt)
 {
     AVFilterContext *ret;
+    char *filter = av_strdup(filt); /* copy - don't mangle the input string */
     char *name, *args;
 
     name = filter;
     if((args = strchr(filter, '='))) {
         /* ensure we at least have a name */
         if(args == filter)
-            return NULL;
+            goto fail;
 
         *args ++ = 0;
     }
@@ -76,11 +78,15 @@ static AVFilterContext *create_filter_wi
         if(avfilter_init_filter(ret, args)) {
             av_log(NULL, AV_LOG_ERROR, "error initializing filter!\n");
             avfilter_destroy(ret);
-            ret = NULL;
+            goto fail;
         }
     } else av_log(NULL, AV_LOG_ERROR, "error creating filter!\n");
 
     return ret;
+
+fail:
+    av_free(filter);
+    return NULL;
 }
 
 int avfilter_graph_load_chain(AVFilterGraph *graph,




More information about the ffmpeg-cvslog mailing list