From patchwork Wed Jun 24 13:47:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 20579 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 6A2C144B3C4 for ; Wed, 24 Jun 2020 16:53:56 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 54A5A68B615; Wed, 24 Jun 2020 16:53:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D5A2768B60D for ; Wed, 24 Jun 2020 16:53:47 +0300 (EEST) Received: by mail-wr1-f68.google.com with SMTP id k6so2396433wrn.3 for ; Wed, 24 Jun 2020 06:53:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1lL/jZlvjxo89Ykea1YDPobnt5e8viOZPvDkBP0aaio=; b=KlYl8fyyRQl6ZNP6fzYH6TNL7aHFDGAwNH3S8nxh3/ogZ6x+q8UEPiAkWWc18QBktZ 8bd85GJLGswoUBeU+9RmxRX0v9iSIUR2tCTFCg7xDi30SOngqUJcwXUu4alg8TrCxPYQ v4iNSIdhnOha6yFYTmMZJE0I2l46Q//TKTOFoI4/uFO7WHZZgWW8DIC5kyaSiWW0vhcP 4sq2uQNamGydADVlwLjTO5MNXWLnatxNNuZy5O5LWuorXuGNbUmCYQxX4UxFfUPj2At9 lK74ubp/gcHgbZkk+oDT1nFgeRxIjYsiY3Ozf4Z+aik2z2scXXWZFetSnmAqRP+ZU/aV DMCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1lL/jZlvjxo89Ykea1YDPobnt5e8viOZPvDkBP0aaio=; b=gYQASKfLr3ycQDSddd6YpN1sBQOcWnLHMkQ2LcLoxsvwV6cxqJOJNQAh+uKe4wnrFf 5JFFUG4AaGE62pC6emmaHfw31y2A68UfOP5XoTrzHiCa0osV5KvDorqNTkWjWa54IjE+ imQjl5yS5UdvySc4kOe1u0dvh7Q8RsfxqyRf/gIFGwVGBWZAKuz+ek/HR0mxtzYcn0+U Jh36+Hsa9sNFpJT5RKDeVdYJP1riVmD4SpZP1AhyEXFwAVU/L3aGe5GLwpySCe6iNXqF QJ8mhPi9kG4j/Pd45QJlHu84LKvrbEGSf39+MvqVoSYWu4w/L5J1ZCB5D+ffdZVSqxTT OheA== X-Gm-Message-State: AOAM530uVbOygl1Km3MK1fPhysu6XzXHcJUK4C4hF2XLRMdwss4Xs/mJ u3DfGWPcsTj5c8E7M1FhMehd32wQ X-Google-Smtp-Source: ABdhPJzl46zp2FJGgy+8IYwwR1BrbGZ3uxN+ToCEw7TEC8nPJgtufM3pcNM6fw5oka3Q79YsI+/62Q== X-Received: by 2002:adf:fe4b:: with SMTP id m11mr30645268wrs.36.1593006826995; Wed, 24 Jun 2020 06:53:46 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc10296.dynamic.kabel-deutschland.de. [188.193.2.150]) by smtp.gmail.com with ESMTPSA id y25sm8172390wma.19.2020.06.24.06.53.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2020 06:53:46 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Jun 2020 15:47:02 +0200 Message-Id: <20200624134705.14833-6-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200624134705.14833-1-andreas.rheinhardt@gmail.com> References: <20200624134705.14833-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 6/9] avformat/smacker: Don't allocate arrays separately 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Allocating two arrays with the same number of elements together simplifies freeing them. Signed-off-by: Andreas Rheinhardt --- libavformat/smacker.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libavformat/smacker.c b/libavformat/smacker.c index 0138af3d14..2043563fdb 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -205,13 +205,11 @@ static int smacker_read_header(AVFormatContext *s) avio_rl32(pb); /* padding */ /* setup data */ - smk->frm_size = av_malloc_array(smk->frames, sizeof(*smk->frm_size)); - smk->frm_flags = av_malloc(smk->frames); - if (!smk->frm_size || !smk->frm_flags) { - av_freep(&smk->frm_size); - av_freep(&smk->frm_flags); + smk->frm_size = av_malloc_array(smk->frames, sizeof(*smk->frm_size) + + sizeof(*smk->frm_flags)); + if (!smk->frm_size) return AVERROR(ENOMEM); - } + smk->frm_flags = (void*)(smk->frm_size + smk->frames); /* read frame info */ for (i = 0; i < smk->frames; i++) { @@ -225,7 +223,6 @@ static int smacker_read_header(AVFormatContext *s) ret = avio_read(pb, par->extradata + 16, par->extradata_size - 16); if (ret != par->extradata_size - 16) { av_freep(&smk->frm_size); - av_freep(&smk->frm_flags); return AVERROR(EIO); } @@ -362,7 +359,6 @@ static int smacker_read_close(AVFormatContext *s) SmackerContext *smk = s->priv_data; av_freep(&smk->frm_size); - av_freep(&smk->frm_flags); return 0; }