From patchwork Wed Dec 1 11:37:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Steven X-Patchwork-Id: 31860 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp9111394iob; Wed, 1 Dec 2021 03:37:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJxcEUQlxrvv7+Q+h0RN38nX0eafRryMbHqJpZZJD9CWlfRTCB7LDKzfhW3piylzGsMZ5ufh X-Received: by 2002:a17:907:6eaa:: with SMTP id sh42mr6417628ejc.556.1638358678281; Wed, 01 Dec 2021 03:37:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1638358678; cv=none; d=google.com; s=arc-20160816; b=bGPMFm9QWgmgSlGKtZuxJb2XAFTaXJs9N0SCXSEkVp3YFeH+R13kpx2ak7hkxHh5F7 wCFIBGUGq9+wVecPetrZhKNOFkpOfwLkC9BWrf/FzkmjjzMJQ7k91BE37asu5ViXOcxb Z4NI+7imwgtK2TnvOL78qPWUqklXgL2Eu4tRJROybvr9uJM1Lyh1WRv/kTbR2O5Rjhzp Y2Rg3WXossdAAxep09+/b15ce2thrGej/2sp53QROc7n5BSDltUkMheRT0QA3vDpRMgd 67IgwmzBtES5ZFdvrDhT7v5nRrB1KTzRixlA0PA9YFyQ1955HN9BW6ya9OUkVOUF2KGD AWdA== 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:references :in-reply-to:message-id:date:to:from:delivered-to; bh=nUf1RBDTHqHqB4+Cu+o4fItWIEVFcFtVQHCkiWimKX0=; b=ddhxiqTdSOJD+dz+MWjd17fvJKRL+ljWWYQIGvS+NcDrY2JTFGMjGqo5DL8047Dl2l qOeE75LSfPH06G2rYu4/iqDnJdy3FPxT1y2HzEA6pLSDdxCjtFBCP/gH+WtPLbIc1Gaq iU4Hw1TlllFlToXcvDFMIdSBiFIZwDyqn/8D2z0ZaO36mUJy4Fb9KG9ope/h4DgYOd4B 24Df5CJANFXkbrrBvK78tcRXHzormkmLcksDhQPdum/GOPU7sRf5/JykPhOvLlUk1CKP vVlzb5XAAOXOZsSU5zi4Ed8PbK+oD7KJZvIvr0qJVZG5iQXODYA06RZ0ePGMNrUuAMMZ bDOg== 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 ne27si40795250ejc.39.2021.12.01.03.37.58; Wed, 01 Dec 2021 03:37:58 -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 7B34968AF2C; Wed, 1 Dec 2021 13:37:55 +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 0F12B689738 for ; Wed, 1 Dec 2021 13:37:48 +0200 (EET) X-QQ-mid: bizesmtp53t1638358662thwif692 Received: from localhost (unknown [103.107.216.231]) by esmtp6.qq.com (ESMTP) with id ; Wed, 01 Dec 2021 19:37:41 +0800 (CST) X-QQ-SSF: 01100000002000Z0Z000B00A0000000 X-QQ-FEAT: YSwSv5UBo8jfkEzzb1pPIou88inNMNF2oD21aZTPqLEL5U0U4iqOfKh3d60EI QnuZwxu5+T4cOsGU9Dx9qPo9qzWtfvjsjxwAXwp/SvmdS6LCDZn7+FeH7k7uNhfvNAIZjyV KjUXvoWoxIDFj5cnL/mcR+9uBB1XmNs6gKpJy7THvlm1Fzkq1KDlWOVhiPofX34fMXDvq2b pzho8oEp9sfbmpWS95/X1lMAKERBlbaLqTUbpgNklyiZ+vWUx+CUX/Vipdn/rrbNX+gTqiV HEvwSYQtXvsw8T1lIXeWgpqjreO5LjMWMv56Iwn6osKr8HOVsagproKocLbrjfbUGYMOru9 aNPXYeSt928+RDL/A8MfY0Ojjqc/g== X-QQ-GoodBg: 0 From: Steven Liu To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Dec 2021 19:37:40 +0800 Message-Id: <20211201113740.79002-1-lq@chinaffmpeg.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <163835523782.11276.4457550245982421831@lain.red.khirnov.net> References: <163835523782.11276.4457550245982421831@lain.red.khirnov.net> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:chinaffmpeg.org:qybgspam:qybgspam5 Subject: [FFmpeg-devel] [PATCH v2] fftools/ffmpeg_filter: fix SEGV in choose_pix_fmts after avio_close_dyn_buf 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: Steven Liu , TOTE Robot Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: JHFl5JRxk38W Check avio_printf value and len from avio_close_dyn_buf, it should incorrect if they are not equal each other. Reported-by: TOTE Robot Signed-off-by: Steven Liu --- fftools/ffmpeg_filter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 452b689d62..ceb08b44f1 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -105,6 +105,7 @@ static char *choose_pix_fmts(OutputFilter *ofilter) AVIOContext *s = NULL; uint8_t *ret; int len; + int name_new_size = 0; if (avio_open_dyn_buf(&s) < 0) exit_program(1); @@ -116,9 +117,11 @@ static char *choose_pix_fmts(OutputFilter *ofilter) for (; *p != AV_PIX_FMT_NONE; p++) { const char *name = av_get_pix_fmt_name(*p); - avio_printf(s, "%s|", name); + name_new_size = avio_printf(s, "%s|", name); } len = avio_close_dyn_buf(s, &ret); + if (len != name_new_size) + return NULL; ret[len - 1] = 0; return ret; } else