avcodec/bsf: fix resource leak in av_bsf_list_parse_str
authorSteven Liu <lq@chinaffmpeg.org>
Tue, 10 Jan 2017 20:09:47 +0000 (04:09 +0800)
committerSteven Liu <lq@chinaffmpeg.org>
Tue, 10 Jan 2017 20:09:47 +0000 (04:09 +0800)
cid: 1396268
when av_strdup(str) error, the lst need release

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
libavcodec/bsf.c

index ac2024b..c984526 100644 (file)
@@ -514,8 +514,10 @@ int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf_lst)
     if (!lst)
         return AVERROR(ENOMEM);
 
-    if (!(dup = buf = av_strdup(str)))
-        return AVERROR(ENOMEM);
+    if (!(dup = buf = av_strdup(str))) {
+        ret = AVERROR(ENOMEM);
+        goto end;
+    }
 
     while (1) {
         bsf_str = av_strtok(buf, ",", &saveptr);