From patchwork Tue Nov 14 19:18:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 6054 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp3695550jah; Tue, 14 Nov 2017 11:19:18 -0800 (PST) X-Google-Smtp-Source: AGs4zMZreju0hs4gQ5XfD+9UTzn4yQRpTLwXJLzZMSipX0/5iTKahfSjCLDI2ruj9m9IMvSE4MFA X-Received: by 10.223.130.225 with SMTP id 88mr11050059wrc.6.1510687158566; Tue, 14 Nov 2017 11:19:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510687158; cv=none; d=google.com; s=arc-20160816; b=dapHrZOV8/Vp0luEN7HSBpb23G+MFPHgGyismm2bIdTUmwyA1BiLv0wsQ4nkhnuiel vgyAmHJosd07z0ZvPRvhbh5+076zQ9hrYqS7MBLsJu1heKDr47GwH8Lw/x9Ak9qaXDq1 ndShuXR4KT0xAEBPcWpJE+R6Z65zHYW+hxYXgoPPPTgbBGin2cqbdn9lkInGWIQLZslt uVLdgsib5p6gnN9mRKxUpS4zXBzVu6z/atxTNnj77mDjf8/gtUekFUvV3KGeqPKNM+tK K8R1I5Z+XtXeeFV2ZArSa9Mh+wmQ/EqHrHe8JbmGXsNhQ8dRgyLJZoNqBvAj9VcUDyi+ 1jJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=mddx2Lf7Z4/n+VHg9Xe+vPsH7o6rjTeOMrDeypFx7M0=; b=vFjas60hx31s98wXUdD/uMFnPxWmTM3FrDYAblS2v/uihoex6yvdkq4HwdaPj7K7k+ voi5UH9lLgtca7alF2qP+7UL7Mqx6OQF1nAZfHKHw6q0sEYHwSDamC6uYjOD+CUGcRWR 7r4evUEPn4nR/ILKKKlPRKFz9eYKdixDN8rtjLJKAOUs8xSWd1IEyrV2sMfvQd4Q5j6n t1SPUzL8i7VWuC5kPmAXoirIwcV4pN3tE8MFrBDSPJWk9g/sr9Fxa/clMpxxPoq6GZm9 JxYakXhCl0JssXfkogWKDHgtMfF/Xs3sbmtapoWDXsuUYBTm00Aix+/BLMKoW2cj5PJ/ kUmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@tmm1-net.20150623.gappssmtp.com header.s=20150623 header.b=oNYmv5MD; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a14si16371508wrf.227.2017.11.14.11.19.18; Tue, 14 Nov 2017 11:19:18 -0800 (PST) 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 header.s=20150623 header.b=oNYmv5MD; 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 6950768A0F7; Tue, 14 Nov 2017 21:18:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 695F268A0B7 for ; Tue, 14 Nov 2017 21:18:49 +0200 (EET) Received: by mail-pg0-f65.google.com with SMTP id s75so16106387pgs.0 for ; Tue, 14 Nov 2017 11:19:04 -0800 (PST) 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=IMCCADfT+I+egxzfJylyh5xo3x/Fv13GGbwv2EI+VQc=; b=oNYmv5MDK/j8NQE2LwJojxLoKC0du3pqMNjRyErGarZxyuSwLgHL+PDXVhq0OsW97y 1/kQIyB8ImuSaVIEyIM/dhkjtpWMBwDPAhTK2iV2NDJmYFOo11hpmk6r7xZLj1uyPg8f RWa+KoW5qoOLKUZD8bbCTtnj/A0DkxjroZRqjVimIMaT6FdKv+8tK4uzcxNMcpp84P40 DZ3qWbqLpCfmrI+KWIyfNpxMSLPQhL99nWadxaFi51fyoEtq4vbahinEX4ODyEQcwkAO k4bJlL2cZtYC5HH0hpDRm6gqB34G8MPDhqHKe1aLq9Zy7+7PGPSwnpzND2U1hjvrl6hn RM+A== 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=IMCCADfT+I+egxzfJylyh5xo3x/Fv13GGbwv2EI+VQc=; b=Mmsj++XJeDBhhKGA+vLSpywr7yhP/zzMkqohadFULSUrrJHQeHeYT+eLRgIZaTylDg 0lGoAVN3gIeJMCDsJZVqfZluJL9AzrQRZPNHZpFLCrUvxvbPv5wavzdJ1UDp2aqt+PFE Fe30CYnDp+M+4kwFqytFFrb7DEzt8UDf/cw0pWOm2svtOhUWl5Iyr4NY8kg31FpRLdKN lKY4UyKGfAAaT9hP5PGMfKH88+8Vxwp+mP8rYmdNdZe6g1f3jMVOJk57JXPOGC2xF3P8 XAfUt0Y7SErGEELIpexkoAAXHKQOv9fCcKkXU6COG888F6n9xvenYwLHHH4NwLDAMsZI DA8g== X-Gm-Message-State: AJaThX5HqCyf63Kru4coEfoxAPWVMQR8OTn23To6TdpJ0VEFlAgLgGzQ BkWipl4PTkZpCh/CPn4XTxMq4DH5 X-Received: by 10.159.207.136 with SMTP id z8mr13372006plo.63.1510687142953; Tue, 14 Nov 2017 11:19:02 -0800 (PST) Received: from tmm1-imac.local.net (c-73-252-174-83.hsd1.ca.comcast.net. [73.252.174.83]) by smtp.gmail.com with ESMTPSA id j186sm43624960pfc.114.2017.11.14.11.19.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 14 Nov 2017 11:19:02 -0800 (PST) From: Aman Gupta To: ffmpeg-devel@ffmpeg.org Date: Tue, 14 Nov 2017 11:18:58 -0800 Message-Id: <20171114191858.29205-2-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171114191858.29205-1-ffmpeg@tmm1.net> References: <20171114191858.29205-1-ffmpeg@tmm1.net> Subject: [FFmpeg-devel] [PATCH v3 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 Signed-off-by: Aman Gupta Reviewed-by: Michael Niedermayer --- libavcodec/mpeg12dec.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index e2a7c3f2e0..d5bc5f21b2 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -2235,8 +2235,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; @@ -2253,7 +2256,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_mallocz(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 && get_bits_left(&gb) >= 26; i++) { @@ -2317,7 +2322,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;