From patchwork Wed Nov 29 01:43:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 6436 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp3918222jah; Tue, 28 Nov 2017 17:44:11 -0800 (PST) X-Google-Smtp-Source: AGs4zMZEXRV+YUtDpnKY7ZViQ2rh44sNyHFmFwUTQ5Q6+ku62fr13vmtnFK8isiX3r+DlZIAp6+I X-Received: by 10.223.148.199 with SMTP id 65mr929879wrr.14.1511919850942; Tue, 28 Nov 2017 17:44:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511919850; cv=none; d=google.com; s=arc-20160816; b=PwAhpiv1/4Cem35xZpu+Aa0fx6LAO9oi4v0aRS0WLUJ80AfKBLEslRVfVCykgbbDoV EfhtR9YVRn7YWAc5BMHTzTCO2jORkcOK0HqjO5kS7C9ZYFySerzqjzCC/8zcnllLRP7C Ocfyf2bwJB8TBOlH2kLIvOjHa/mVd7BUnvbXmnP3IGhMM4KmSMI9RdPgZ877S64DsEUx Hhw3xtvRhFD4EuCvqVdl0GFD3HEYTIxAhmZothGAbP6ZBlp0OXC2KVda3n1WPNpsIIzj EbtW+z5Jy4JAeYB+YT29Ru74rAt4GYq7Yl5wcrW8EuC+LIP9Q6FeUdiX6YZD0LZKgnzf HvgQ== 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: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=MCMoBBuovvQ43UBft02sTy6XaWPDaDD4FyUGRWG05CA=; b=gXEnNhJwv4sZFLOqjx1mkSqGuR6J5ZODi8zkje0X482wW5d0IuLZUDrINZQkNP769p MhkDKUK7WU3Y2WOhI2uBE8utBC010HCSbeM+aGMFOnXAtp33uykvBWSYm3KoB2k2R7YJ V+ODn99s43b7HZIayPJUm1CWLvFPLJ4tJOQlr3L61yEiqrIoIHjRRiEUJCmKNDua5fX9 ZPx+MiqCSsDHIYljGBvTgp6Bpqedsi8Svjt64wjuUO05GxfYNRrfkr5JM4dzb/opS8wh Vr2flC8WVA4vDxMqw21pLc0zXC//d1RmLIzkkWDUeQf6exPzmlqpnbUh6SxTFM80s0ma DBGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=iWnwGUqD; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 67si543236wmj.143.2017.11.28.17.44.10; Tue, 28 Nov 2017 17:44:10 -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=@gmail.com header.s=20161025 header.b=iWnwGUqD; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4D86968A20D; Wed, 29 Nov 2017 03:43:42 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 35DCC68A181 for ; Wed, 29 Nov 2017 03:43:35 +0200 (EET) Received: by mail-qt0-f193.google.com with SMTP id g10so2443952qtj.12 for ; Tue, 28 Nov 2017 17:43:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=cc8Rg+e53h1xdzGGNCcKdqaO0b+Mvo7hiW8+hpNHqW0=; b=iWnwGUqD9MJJ9GHXrZiLiUNKFhiepapg+Tg3swXcv2W1oDvBy0hFclDI51KsrDY1ky +Y0BmafQNcvTRv7XL8CVGAT9MS7iBS5a6fleIgzu7fXl/61froZd36lZHeOsNZEBjO78 knMqruFEZHrlMSw7amGLC33eN44bGuTmpg7O68xmRejXsIkV0/an8L1b8XeQKabPd/Dr hKTThfyUm7gg56GIoYsPJwWb4H5DhgTeRYO9hputJ2gMYrMd87WTlqghEW4NF0LQ+T2x XBLQO+IF27C8hX2/phBaMcnjarjFMOB8kCugQxf+k3pvIdymdKtPZ2sWRptKIcF3Po2Q ZbpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=cc8Rg+e53h1xdzGGNCcKdqaO0b+Mvo7hiW8+hpNHqW0=; b=ouWqeh8ptGFJK3eG158AAJG7wTeO9RhUGLoZJ+PAFFrdaZTnnEBG9wc5lvd+iyelCe 61P6exTKYZKdbk0HBDCRSqcNt+re7WF9wfsubfto9MGxVFjBghXgwhYvbox3bQ7DhUvz xDQYV6teh2elZfjOyadgRk3n0V2ZgWj0t1aMUivWDaJUv2pV3kQ/lQVMDHFEPmgvonBn aVt4eJsDYpgadOq4hZnq2tU5U2JTObm+z66OHFbOTZeD9Q12irPqR0BqgNbMdEg7MmYc 9Ii+qSAc8mEQJFvc2/FmQgM7gL3hjrjuT9hueXGX/CU61Xh/+gFYIXVNCnetpVKPKJDy VqHg== X-Gm-Message-State: AJaThX4iwjzvn4s0qV7qQmQKC12IiBxkg1ddTlqNbySN1fT7wMKj5AyZ UxdZ2rZitnJjeTqFzTIuwNv7Vw== X-Received: by 10.200.52.232 with SMTP id x37mr2061430qtb.287.1511919816854; Tue, 28 Nov 2017 17:43:36 -0800 (PST) Received: from localhost.localdomain ([181.231.59.220]) by smtp.gmail.com with ESMTPSA id k7sm407365qkf.57.2017.11.28.17.43.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Nov 2017 17:43:36 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Nov 2017 22:43:02 -0300 Message-Id: <20171129014303.3716-4-jamrial@gmail.com> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171129014303.3716-1-jamrial@gmail.com> References: <20171129014303.3716-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/5] avformat/avc: free buffer in ff_isom_write_avcc on failure 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavformat/avc.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/avc.c b/libavformat/avc.c index 7542db684b..6ef6e08778 100644 --- a/libavformat/avc.c +++ b/libavformat/avc.c @@ -145,8 +145,10 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len) buf += size; } - if (!sps || !pps || sps_size < 4 || sps_size > UINT16_MAX || pps_size > UINT16_MAX) - return AVERROR_INVALIDDATA; + if (!sps || !pps || sps_size < 4 || sps_size > UINT16_MAX || pps_size > UINT16_MAX) { + ret = AVERROR_INVALIDDATA; + goto fail; + } avio_w8(pb, 1); /* version */ avio_w8(pb, sps[1]); /* profile */ @@ -160,9 +162,11 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len) avio_w8(pb, 1); /* number of pps */ avio_wb16(pb, pps_size); avio_write(pb, pps, pps_size); + +fail: av_free(start); - return 0; + return ret; } int ff_avc_write_annexb_extradata(const uint8_t *in, uint8_t **buf, int *size)