]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/f_sendcmd.c
Merge commit 'c68317ebbe4915035df0b08c23eea7a0b80ab881'
[ffmpeg] / libavfilter / f_sendcmd.c
index 7081de815d3da65ef6bb3b5e5c53552f0bd26a71..a60a0b1f4188a0dd0139fd4d0c30d771c94f0b6c 100644 (file)
@@ -374,7 +374,6 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
 {
     SendCmdContext *sendcmd = ctx->priv;
     int ret, i, j;
-    char *buf;
 
     sendcmd->class = &sendcmd_class;
     av_opt_set_defaults(sendcmd);
@@ -389,7 +388,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
     }
 
     if (sendcmd->commands_filename) {
-        uint8_t *file_buf;
+        uint8_t *file_buf, *buf;
         size_t file_bufsize;
         ret = av_file_map(sendcmd->commands_filename,
                           &file_buf, &file_bufsize, 0, ctx);
@@ -398,8 +397,10 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
 
         /* create a 0-terminated string based on the read file */
         buf = av_malloc(file_bufsize + 1);
-        if (!buf)
+        if (!buf) {
+            av_file_unmap(file_buf, file_bufsize);
             return AVERROR(ENOMEM);
+        }
         memcpy(buf, file_buf, file_bufsize);
         buf[file_bufsize] = 0;
         av_file_unmap(file_buf, file_bufsize);