From patchwork Sun Sep 20 11:53:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 22526 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 4367F4486BF for ; Sun, 20 Sep 2020 14:54:07 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2DC0F68B678; Sun, 20 Sep 2020 14:54:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4457568B5F3 for ; Sun, 20 Sep 2020 14:54:00 +0300 (EEST) Received: by mail-wm1-f65.google.com with SMTP id z9so9804604wmk.1 for ; Sun, 20 Sep 2020 04:54:00 -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:reply-to:mime-version :content-transfer-encoding; bh=8t5KxhsZPMYxMsXPoy2LgrmyqKAeE9PY25FWafnqs8E=; b=Od9ftGOOnKuUaXLhMvPrYY1KApeU0m3/x6WByuZTe7no/LBzzOk09MJ4gUd7W6xcl0 t68K5SWvQVgEb9Rr9YOuqLy+PJxorH4MZ4ei8rjgQne8ASnpKJzzxsFywqQLsq98n1HO hlwoAYItsqm1HRm2GVZR3xplMERetqu/cJB0j8BErNmDfElPGgaB2ZzfPpQ6wl7kyAuo rwZwwzqxAyBe5bbCbybhLTXl9ssVRyhBGLLdgUv4pc5p068wybgbVCKqLjGgHOUBrgEQ wxNH2tey889eSezsVZHHC1AvROXXg4IecnoMhe2xBNhLzdGmMJeHPEy7vyZhww8bxgAq OYUA== 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:reply-to :mime-version:content-transfer-encoding; bh=8t5KxhsZPMYxMsXPoy2LgrmyqKAeE9PY25FWafnqs8E=; b=kxcIGQS6yGxGk26mE+xdf8ALTBzJzXMJuD+uKnMD3FieGMyi+Rh7ca7A/MUQWQt4lt UN+s5git6W0GEI9QcJI/V4i9eTyLcKROO+gvewppAfwVoX1iamxuw7mkwGjjbw7JSrHx 6p68i/k/X9kt3zZ7aNTJwcCoQHS4jOJO9LrtiZgXPbPkcGeSxl0pQxip28LXJ3tlvt4h aGvXr3JwSeFlgDWy65aStXJ+SBDAYuBF3uA4vvfI2/qjMdxQk2ERCUUZkEmZehFWll0a FDfB1EmUxA0cL91ejF6adM3dPpfEeOizYVfYcCWDJ8ZW9lLICmqCfrYCkdpJVN1LgHoR S+AQ== X-Gm-Message-State: AOAM530JIMFCoGb+r92oeESqMJrm59pqUq1Q4u6JpevYMCvLPnOBoLUE dL5PKkPqDtPf0KovO96vRCL7bI+nBGE= X-Google-Smtp-Source: ABdhPJzWzhgflOJ6+Tq8kQUIy/aqcwWNAW8NiI24sKpKiSV7z9iCMH2v3iF3nzQ5Po1peThau+Zgjw== X-Received: by 2002:a1c:59c3:: with SMTP id n186mr25054611wmb.32.1600602839408; Sun, 20 Sep 2020 04:53:59 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id u126sm17057127wmu.9.2020.09.20.04.53.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2020 04:53:58 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 20 Sep 2020 13:53:39 +0200 Message-Id: <20200920115341.1812809-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avformat/swfdec: Fix memleaks 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/swfdec.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavformat/swfdec.c b/libavformat/swfdec.c index e427998744..7a74fa3ac7 100644 --- a/libavformat/swfdec.c +++ b/libavformat/swfdec.c @@ -146,13 +146,18 @@ static int swf_read_header(AVFormatContext *s) swf->zbuf_out = av_malloc(ZBUF_SIZE); swf->zpb = avio_alloc_context(swf->zbuf_out, ZBUF_SIZE, 0, s, zlib_refill, NULL, NULL); - if (!swf->zbuf_in || !swf->zbuf_out || !swf->zpb) + if (!swf->zbuf_in || !swf->zbuf_out || !swf->zpb) { + av_freep(&swf->zbuf_in); + av_freep(&swf->zbuf_out); + avio_context_free(&swf->zpb); return AVERROR(ENOMEM); + } swf->zpb->seekable = 0; if (inflateInit(&swf->zstream) != Z_OK) { av_log(s, AV_LOG_ERROR, "Unable to init zlib context\n"); av_freep(&swf->zbuf_in); av_freep(&swf->zbuf_out); + avio_context_free(&swf->zpb); return AVERROR(EINVAL); } pb = swf->zpb;