Skip to content
Snippets Groups Projects
Commit fc27b808 authored by Vitor Sessak's avatar Vitor Sessak
Browse files

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

Originally committed as revision 12691 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 65a4bd9c
No related branches found
No related tags found
No related merge requests found
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <string.h> #include <string.h>
#include <stddef.h> #include <stddef.h>
#include "avstring.h"
#include "avfilter.h" #include "avfilter.h"
#include "avfiltergraph.h" #include "avfiltergraph.h"
...@@ -55,16 +56,17 @@ void avfilter_graph_add_filter(AVFilterGraph *graph, AVFilterContext *filter) ...@@ -55,16 +56,17 @@ void avfilter_graph_add_filter(AVFilterGraph *graph, AVFilterContext *filter)
graph->filters[graph->filter_count - 1] = filter; 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; AVFilterContext *ret;
char *filter = av_strdup(filt); /* copy - don't mangle the input string */
char *name, *args; char *name, *args;
name = filter; name = filter;
if((args = strchr(filter, '='))) { if((args = strchr(filter, '='))) {
/* ensure we at least have a name */ /* ensure we at least have a name */
if(args == filter) if(args == filter)
return NULL; goto fail;
*args ++ = 0; *args ++ = 0;
} }
...@@ -76,11 +78,15 @@ static AVFilterContext *create_filter_with_args(char *filter) ...@@ -76,11 +78,15 @@ static AVFilterContext *create_filter_with_args(char *filter)
if(avfilter_init_filter(ret, args)) { if(avfilter_init_filter(ret, args)) {
av_log(NULL, AV_LOG_ERROR, "error initializing filter!\n"); av_log(NULL, AV_LOG_ERROR, "error initializing filter!\n");
avfilter_destroy(ret); avfilter_destroy(ret);
ret = NULL; goto fail;
} }
} else av_log(NULL, AV_LOG_ERROR, "error creating filter!\n"); } else av_log(NULL, AV_LOG_ERROR, "error creating filter!\n");
return ret; return ret;
fail:
av_free(filter);
return NULL;
} }
int avfilter_graph_load_chain(AVFilterGraph *graph, int avfilter_graph_load_chain(AVFilterGraph *graph,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment