From patchwork Wed Mar 24 05:40:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 26587 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 B593D44B89C for ; Wed, 24 Mar 2021 07:41:30 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9AE2F68A957; Wed, 24 Mar 2021 07:41:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A1E868A9E8 for ; Wed, 24 Mar 2021 07:41:24 +0200 (EET) Received: by mail-ej1-f48.google.com with SMTP id r12so30854793ejr.5 for ; Tue, 23 Mar 2021 22:41:24 -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:reply-to :mime-version:content-transfer-encoding; bh=wgllkag1hqGgzo9JVCOWJifGCYv5VaTKvE+pdC1ZpeQ=; b=kpuizfjRcGkIXy3Rn0HaDJIZiMe5Hdrq2jERx24aUqOxUV5cumOnARgfnpXKJqVKtd C5Be28y6zdQwPbac24PRis/B25bRLmhfCf5id7rLZOXjn9x/tzgOGxatZ09BnTT0bmaW Yu+twWePzB+bocsYrZXnOTy01nGS879vLfmYLUwIw/ZQJMUC61v35/CSEuH7luahCgWw fZAEc8sCGxSVep7CFoxCB9c4h1RstNqK1eLZwcJUwP61szeTrBRHrEl8xv32s4UiORmu 675B3NW+iC5QONpSH+sNRmVp9vyy9EtsS04LjzyqURI7Lsi1GbBtlwbUnMxiCPG3ltLv db9Q== 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:reply-to:mime-version:content-transfer-encoding; bh=wgllkag1hqGgzo9JVCOWJifGCYv5VaTKvE+pdC1ZpeQ=; b=M/fsVTlYCBZLBEFhnq5wxje9YEQiOOQpQynoN2nhIbkz1M2Pe4wN48JCIa20YIIYeA i1OSu1gYuRwA9EpufrL2vZ1G4dCyTgmGDfXIN/iH/SBM8PTOfeMS3FHpJcXiqaBdEkjP O2UP5op99kbosDnzzvBp2IQnfo5u7gv2NB9EFNtpUmDihVXgV/cIfdDE015zVBea3hjs 3wVw4sJgtyjFMNyDrWaad/XK8BYAkev0CjG7DxEhsV6RP0V7ZIZyEw4kL4QMEXyF1BnI pBNGjEUUcVjcxMkDu8pH4iRexKo2wrE8cQ++1RImLOUCTYy3LPOA2MRIukZNbvDF8VYi 5Vng== X-Gm-Message-State: AOAM533HrDUHV/EQqvhExPElULkbqzsv510kgbs7FNN49omNp/5khqyt +f/set9zDd9E/XH7uq7nOLGjrFsVBv2dlg== X-Google-Smtp-Source: ABdhPJx4AlMkoSN3gAMkBynTfihAq6DqvmE3kVWRqi2rpbgtw6DKCkYUVHOc9f//0yjcZvzbNgAX1g== X-Received: by 2002:a17:906:4150:: with SMTP id l16mr1848452ejk.90.1616564483671; Tue, 23 Mar 2021 22:41:23 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc08960.dynamic.kabel-deutschland.de. [188.192.137.96]) by smtp.gmail.com with ESMTPSA id n16sm561041edr.42.2021.03.23.22.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Mar 2021 22:41:23 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Mar 2021 06:40:39 +0100 Message-Id: <20210324054043.1729328-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210324054043.1729328-1-andreas.rheinhardt@gmail.com> References: <20210324054043.1729328-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/6] avformat/aadec: Fix leak on error 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" Signed-off-by: Andreas Rheinhardt --- libavformat/aadec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/aadec.c b/libavformat/aadec.c index 80ca2c12d7..2575e98153 100644 --- a/libavformat/aadec.c +++ b/libavformat/aadec.c @@ -229,8 +229,11 @@ static int aa_read_header(AVFormatContext *s) chapter_pos -= start + CHAPTER_HEADER_SIZE * chapter_idx; avio_skip(pb, 4 + chapter_size); if (!avpriv_new_chapter(s, chapter_idx, st->time_base, - chapter_pos * TIMEPREC, (chapter_pos + chapter_size) * TIMEPREC, NULL)) - return AVERROR(ENOMEM); + chapter_pos * TIMEPREC, + (chapter_pos + chapter_size) * TIMEPREC, NULL)) { + av_freep(&c->tea_ctx); + return AVERROR(ENOMEM); + } } st->duration = (largest_size - CHAPTER_HEADER_SIZE * s->nb_chapters) * TIMEPREC;