avfilter/avfilter: fix null pointer dereference with queued ping filters
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 10 Sep 2013 11:39:57 +0000 (13:39 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 10 Sep 2013 11:39:57 +0000 (13:39 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/avfilter.c

index 7f69f86..765b37a 100644 (file)
@@ -427,7 +427,15 @@ void ff_update_link_current_pts(AVFilterLink *link, int64_t pts)
 int avfilter_process_command(AVFilterContext *filter, const char *cmd, const char *arg, char *res, int res_len, int flags)
 {
     if(!strcmp(cmd, "ping")){
+        char local_res[256] = {0};
+
+        if (!res) {
+            res = local_res;
+            res_len = sizeof(local_res);
+        }
         av_strlcatf(res, res_len, "pong from:%s %s\n", filter->filter->name, filter->name);
+        if (res == local_res)
+            av_log(filter, AV_LOG_INFO, "%s", res);
         return 0;
     }else if(!strcmp(cmd, "enable")) {
         return set_enable_expr(filter, arg);