pngdec: fix potential memory leak
authorRostislav Pehlivanov <atomnuker@gmail.com>
Wed, 26 Jul 2017 22:54:14 +0000 (23:54 +0100)
committerRostislav Pehlivanov <atomnuker@gmail.com>
Wed, 26 Jul 2017 22:54:14 +0000 (23:54 +0100)
Fixes CID1412026.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
libavcodec/pngdec.c

index f83884d..4fc1c5a 100644 (file)
@@ -863,8 +863,11 @@ static int decode_iccp_chunk(PNGDecContext *s, int length, AVFrame *f)
 
     av_bprint_finalize(&bp, (char **)&data);
 
-    if (!(sd = av_frame_new_side_data(f, AV_FRAME_DATA_ICC_PROFILE, bp.len)))
+    sd = av_frame_new_side_data(f, AV_FRAME_DATA_ICC_PROFILE, bp.len);
+    if (!sd) {
+        av_free(data);
         return AVERROR(ENOMEM);
+    }
 
     av_dict_set(&sd->metadata, "name", profile_name, 0);
     memcpy(sd->data, data, bp.len);