avdevice/v4l2: use av_freep() to avoid leaving stale pointers in memory
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 12 Dec 2014 13:46:46 +0000 (14:46 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 12 Dec 2014 13:46:46 +0000 (14:46 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavdevice/v4l2.c

index 8695645..2969980 100644 (file)
@@ -356,7 +356,7 @@ static int mmap_init(AVFormatContext *ctx)
     s->buf_len = av_malloc_array(s->buffers, sizeof(unsigned int));
     if (!s->buf_len) {
         av_log(ctx, AV_LOG_ERROR, "Cannot allocate buffer sizes\n");
-        av_free(s->buf_start);
+        av_freep(&s->buf_start);
         return AVERROR(ENOMEM);
     }
 
@@ -634,8 +634,8 @@ static void mmap_close(struct video_data *s)
     for (i = 0; i < s->buffers; i++) {
         v4l2_munmap(s->buf_start[i], s->buf_len[i]);
     }
-    av_free(s->buf_start);
-    av_free(s->buf_len);
+    av_freep(&s->buf_start);
+    av_freep(&s->buf_len);
 }
 
 static int v4l2_set_parameters(AVFormatContext *ctx)