From patchwork Wed Dec 1 03:25:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Liu X-Patchwork-Id: 31855 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp8649711iob; Tue, 30 Nov 2021 19:27:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJxK/dppmsXu9JWdRLj/L5sBJ774kC5UwxIsWJEeiJs9JrAMA2SEylGFhF+mPY8aMID8l2Rm X-Received: by 2002:a05:6402:845:: with SMTP id b5mr4676831edz.392.1638329226769; Tue, 30 Nov 2021 19:27:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1638329226; cv=none; d=google.com; s=arc-20160816; b=gOTiIW0Ikh+fScdyH0XvRblQOnm6lvsoRKDoiuxbsSZYUQPMsVv3kCtcLtS+gh+eQp DaFsrpopUWe0kWE+Fvccz/qeIo6t7LxDnb+5fRL5liL3oY4mP4/j1LZ6x4XfQzw1aZvP eXK5rFdjvu4lGQsjrpag12jPSgQA1fUW0G2nkw1EbSayT1KD3ZePPMiIzJUgujNnJ6sM I35EoQ0CqjDWUWTCOyKhVryQR2Zh+FL+sEOJM2cb/aeTnFuwgNp1ucb1WghBArxb2LTd eS/5R/I+c0fgIcCPHvIcYglYakNWBWsNyxjyq443zn83n/7BYIjJYrrJDmcuM1RgMBln Syiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:feedback-id:mime-version:message-id:date :to:from:delivered-to; bh=t/MKhNI48qnGERBDsv0D26zfgcwLpLyGXrmm4mlepFU=; b=pZGnXwACMwO/9Woo/pzm5U69ZYX6HbRZ9bLMj4Fv2WiI5xeVVLwUdQNcehMGSRwDKL BVJFzJm3A6fzSY0Z7634z+pof1T9yvu7WaezGyyCJ7G0hEuMCjgOyNbUet+4iY3iq/9W xGOMd1hCYEQQIWf2GE+iA6Q499J4krO2h50aggyBIQCCpnbtPDiQjEPHiOS4cQm5+tCr Kj52QNV6ZiizGWhVQNYAuJlM/ghUF8POub3gGW1dTxGsWTmv8fKN/XOJT5PSOaeY05rW FCd1EKn9AklTm60i80AANmd/QDgglPtOV1PNPA8EOZWc+qHO118nd1AwUgl+ggqcGf5m Z1Gg== ARC-Authentication-Results: i=1; mx.google.com; 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 ar17si24098334ejc.497.2021.11.30.19.27.05; Tue, 30 Nov 2021 19:27:06 -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; 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 B0FC168A59F; Wed, 1 Dec 2021 05:27:00 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpbg587.qq.com (smtpbg128.qq.com [106.55.201.39]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 980A068813C for ; Wed, 1 Dec 2021 05:26:53 +0200 (EET) X-QQ-mid: bizesmtp46t1638329132tsu34k81 Received: from localhost (unknown [103.107.216.231]) by esmtp6.qq.com (ESMTP) with id ; Wed, 01 Dec 2021 11:25:30 +0800 (CST) X-QQ-SSF: 01100000000000Z0Z000B00A0000000 X-QQ-FEAT: x1Cb0uutKEtNtmnH63mM1/OdWMAu2EUC3Z5jQgs/MQFGLQqAKGVIRHct/T85g Fbj5ni1t6XJDYzID2RPqGiuxiBz+cB+y9jRkkyO5AqD11Oj8NTGZznWPGfvema9MvbJwJC/ jw2CSloArNL0QC0gsNQksUx2pU9h1d8Wwrl3ZMXi24cxw14+OXar30nTjU96zBlP+IJyiYC KHOGKoeQQRviVKccEWmeJRV86xovT4U0bNtoegnv2hlY/vRsiABXqes18xjazQW68agCS+R M26ltbzqZPsUcBm56mjVMLWdUAc74nveZ8c2TDzrHQ3b7k6icKzj5qRtIzyTq4T4imTA== X-QQ-GoodBg: 0 From: Steven Liu To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Dec 2021 11:25:29 +0800 Message-Id: <20211201032529.58266-1-lq@chinaffmpeg.org> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:chinaffmpeg.org:qybgspam:qybgspam5 Subject: [FFmpeg-devel] [PATCH] avformat/aviobuf: remove unnecessary label in ffio_fdopen X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: TOTE Robot , Steven Liu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: S2uiwSJUyKuZ From: Steven Liu Because the s->buffer has been freed by av_freep in avio_closep. It should not av_freep the buffer in label fail after avio_closep. Then just move the av_freep before avio_closep and remove the label fail. Reported-by: TOTE Robot Signed-off-by: Steven Liu --- libavformat/aviobuf.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 5da4dea7b6..3fbb942e76 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -977,18 +977,19 @@ int ffio_fdopen(AVIOContext **s, URLContext *h) (int (*)(void *, uint8_t *, int)) ffurl_read, (int (*)(void *, uint8_t *, int)) ffurl_write, (int64_t (*)(void *, int64_t, int))ffurl_seek); - if (!*s) - goto fail; - + if (!*s) { + av_freep(&buffer); + return AVERROR(ENOMEM); + } (*s)->protocol_whitelist = av_strdup(h->protocol_whitelist); if (!(*s)->protocol_whitelist && h->protocol_whitelist) { avio_closep(s); - goto fail; + return AVERROR(ENOMEM); } (*s)->protocol_blacklist = av_strdup(h->protocol_blacklist); if (!(*s)->protocol_blacklist && h->protocol_blacklist) { avio_closep(s); - goto fail; + return AVERROR(ENOMEM); } (*s)->direct = h->flags & AVIO_FLAG_DIRECT; @@ -1006,9 +1007,6 @@ int ffio_fdopen(AVIOContext **s, URLContext *h) ((FFIOContext*)(*s))->short_seek_get = (int (*)(void *))ffurl_get_short_seek; (*s)->av_class = &ff_avio_class; return 0; -fail: - av_freep(&buffer); - return AVERROR(ENOMEM); } URLContext* ffio_geturlcontext(AVIOContext *s)