From patchwork Wed Mar 15 19:53:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 2939 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.50.79 with SMTP id y76csp446673vsy; Wed, 15 Mar 2017 13:00:19 -0700 (PDT) X-Received: by 10.28.87.19 with SMTP id l19mr18886201wmb.95.1489608019260; Wed, 15 Mar 2017 13:00:19 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 70si1677889wmx.60.2017.03.15.13.00.18; Wed, 15 Mar 2017 13:00:19 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@tmm1-net.20150623.gappssmtp.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1DFAA6806E6; Wed, 15 Mar 2017 21:59:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B97E4680370 for ; Wed, 15 Mar 2017 21:59:51 +0200 (EET) Received: by mail-pf0-f195.google.com with SMTP id v190so3214470pfb.0 for ; Wed, 15 Mar 2017 13:00:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tmm1-net.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=dKxDuzbveKT4jQGnVsDoTEzpxlzlYmC4mE/BQ3MJZz0=; b=i7AxsstoogM9JtYWC84tsyehuJm6OtHg/BdscJFIGIDAGnV4Ilk2JeZu0chhWTDpAR cqefFl1Ax4oL7hR27Fp9w6u/8mwSHqxGTgjPH1BwrvFEJtyEBFc8221rbUlqQVnst/Rg deHsWxtSZdvJr194j/A8abkHwl23fMvF1XZK8t/CLyPPZe6oA8qQ0LCTMYNuG93TUOOe bIFM/gzqt1Tk8a+ANAyO52qzJ2vowMHlXLiuBMYY/Cn7EvAdN6yHNOkMjNU+lsvqxIu6 620dykTbpsuJll9y9YLr3qFCo6+UTqsfFGEEWaJXLF1OWrehJePOP7TmM1RvTs1CLr0G c7ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=dKxDuzbveKT4jQGnVsDoTEzpxlzlYmC4mE/BQ3MJZz0=; b=OL36ih359x2WvYwy00RDN7DLvGM87ui5j+sa7IvcHWXARgXMcKcL3Fl6CHNVZ9OD7o kVefKmHNJPREva/WNicziXvrhfJLKXius2NzvRslcuPSOQ2A1a/y24q7SCZS0cF4Bp4G tkDIc4KLTmp3iscV75x9Y8JOP0NLvEUBes1ixysik+TrcoTuNCAYW2hJacF7TcW7y7CA ZQaII4W2YWh788M/sMpo6W1DbdNTn9IJFBgW16H7N4d310jNOyIHYmq+gDPGrjSxgkak HqF+u7CN3YUeIok+HPhc2xBXga/mZxlKgANmhafx8lhQBDHcDT+p4GHQcR1mcXqHB9tk wFfQ== X-Gm-Message-State: AFeK/H3j41rqK7bemfobSomAcrXCabrhV4R40/mOgUBazM6kdpn2zQO1JJiyUMvh2sDveQ== X-Received: by 10.98.83.197 with SMTP id h188mr5700503pfb.106.1489607590973; Wed, 15 Mar 2017 12:53:10 -0700 (PDT) Received: from tmm1-macbook.local.net (c-73-252-174-83.hsd1.ca.comcast.net. [73.252.174.83]) by smtp.gmail.com with ESMTPSA id 10sm5863821pfs.113.2017.03.15.12.53.09 (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 15 Mar 2017 12:53:09 -0700 (PDT) From: Aman Gupta To: ffmpeg-devel@ffmpeg.org Date: Wed, 15 Mar 2017 12:53:04 -0700 Message-Id: <20170315195304.94885-2-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.10.1 (Apple Git-78) In-Reply-To: <20170315195304.94885-1-ffmpeg@tmm1.net> References: <20170315195304.94885-1-ffmpeg@tmm1.net> Subject: [FFmpeg-devel] [PATCH v2 2/2] avcodec/mpeg12dec: ensure a53_caption_size is reset on malloc failures X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Aman Gupta MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Aman Gupta --- libavcodec/mpeg12dec.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index cea8963..f71f207 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -2255,8 +2255,11 @@ static int mpeg_decode_a53_cc(AVCodecContext *avctx, av_freep(&s1->a53_caption); s1->a53_caption_size = cc_count * 3; s1->a53_caption = av_malloc(s1->a53_caption_size); - if (s1->a53_caption) + if (!s1->a53_caption) { + s1->a53_caption_size = 0; + } else { memcpy(s1->a53_caption, p + 7, s1->a53_caption_size); + } avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS; } return 1; @@ -2273,7 +2276,9 @@ static int mpeg_decode_a53_cc(AVCodecContext *avctx, av_freep(&s1->a53_caption); s1->a53_caption_size = cc_count * 3; s1->a53_caption = av_malloc(s1->a53_caption_size); - if (s1->a53_caption) { + if (!s1->a53_caption) { + s1->a53_caption_size = 0; + } else { uint8_t field, cc1, cc2; uint8_t *cap = s1->a53_caption; for (i = 0; i < cc_count; i++) { @@ -2337,7 +2342,9 @@ static int mpeg_decode_a53_cc(AVCodecContext *avctx, av_freep(&s1->a53_caption); s1->a53_caption_size = cc_count * 6; s1->a53_caption = av_malloc(s1->a53_caption_size); - if (s1->a53_caption) { + if (!s1->a53_caption) { + s1->a53_caption_size = 0; + } else { uint8_t field1 = !!(p[4] & 0x80); uint8_t *cap = s1->a53_caption; p += 5;