From patchwork Mon May 23 00:35:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 35891 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp1682289pzb; Sun, 22 May 2022 17:35:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTFDLHrF73vqaHMRNivVS97iMo5nB8TjFtKNkG2ctZU+8kCzfYiGy5/cX5hjBglhdxMokA X-Received: by 2002:aa7:d497:0:b0:42a:b6bf:67c2 with SMTP id b23-20020aa7d497000000b0042ab6bf67c2mr21816729edr.19.1653266150339; Sun, 22 May 2022 17:35:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653266150; cv=none; d=google.com; s=arc-20160816; b=YNcKilJiT27ZtaWP5yC94ynhhaQeOGkx8v08DhXjNxNzmovnnuP5ceCHdHJLas/uDR uQouEH7IgP/mN6hKAoqqLLcFtuwZryqNvC84QsaQDDS9zme84LOFnqJ6AiAq9xEinyKw 2IbTSRKHJDKd8Xxu0OOtBoAZj8V4veGHGV41kge68YesmwhSO8+Q0jUDU5HpCh/PzXIS nxXMc1swzBTnxn/YgiKu6UThj7yKP+zZhG1mYXA23VtCXSONLqxGw6u6lWSqkRnvWABT eQgd/kIad3YOASRKogaRn2Wk/cj+h46iGnW8GhrnJ/LzWsdm8BnB7YImsmmBPoa9Q/4s Q80w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:delivered-to; bh=oz6r4cIZjbYZc5K1J1GFVARKZrRIytuJBV8T2pD1ZyE=; b=qxFReSzfnQt2koq3ddqrGbvfEoSVy4BWdetoK8KW6VAEMwD6jwEkREPB1gHroFx4+T 63PeqJygvzDKKNHvqVoill3EsNe8t41BPIqf/MKIWcOKwXvXN0WYnkGDQJ1e5X168bCN hLLU/8/UF7/55YrFKe+xyYD/jPXDBMJOgcEztxqqa0W2uLieKmrai4Upg2uGqO718IeP SVrb+dzzGiRWkzk/FgnAEPY9dz8vXgyKMveojpl/ucS6Gv1dDkGXzhlZ2ogU4fsed1fa a+t0gT1ovADQ1GbIKrhb00XVHkNjboZoL9Savul+HgCxCRoerKDxpMHlMi+aJe0SfI8W cIKA== 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 f16-20020a056402355000b0042b635aefcfsi2751498edd.82.2022.05.22.17.35.49; Sun, 22 May 2022 17:35:50 -0700 (PDT) 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 EB6E568B4BF; Mon, 23 May 2022 03:35:44 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vie01a-dmta-at03-1.mx.upcmail.net (unknown [62.179.121.151]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1FF5768B072 for ; Mon, 23 May 2022 03:35:38 +0300 (EEST) Received: from [172.31.216.235] (helo=vie01a-pemc-psmtp-pe12.mail.upcmail.net) by vie01a-dmta-at03.mx.upcmail.net with esmtp (Exim 4.92) (envelope-from ) id 1nsw2l-000789-6y for ffmpeg-devel@ffmpeg.org; Mon, 23 May 2022 02:35:31 +0200 Received: from ren-mail-psmtp-mg02. ([80.109.253.241]) by vie01a-pemc-psmtp-pe12.mail.upcmail.net with ESMTP id sw1RnY3iH8s8Usw2knJ76C; Mon, 23 May 2022 02:35:30 +0200 Received: from localhost ([213.47.68.29]) by ren-mail-psmtp-mg02. with ESMTP id sw2knxqgq8eSWsw2knzLEU; Mon, 23 May 2022 02:35:30 +0200 X-Env-Mailfrom: michael@niedermayer.cc X-Env-Rcptto: ffmpeg-devel@ffmpeg.org X-SourceIP: 213.47.68.29 X-CNFS-Analysis: v=2.4 cv=KKE5sHJo c=1 sm=1 tr=0 ts=628ad6d2 a=2hcxjKEKjp0CzLx6oWAm4g==:117 a=2hcxjKEKjp0CzLx6oWAm4g==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=GEAsPZ9sns4A:10 a=7eOq1tfR8qfLTMvAqp8A:9 From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Mon, 23 May 2022 02:35:28 +0200 Message-Id: <20220523003529.21527-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 X-CMAE-Envelope: MS4wfF4z72JJ98bbpzHQawyNLgbd46212vxAXi5w9iQenYzeWbGxzuYuULhFaod1+bpLHRZn0lLKPOfYV5mBHYsIhSdSP1kihiPhnM0RtRpwKEdnSxganSZi fA3hbOkeHaYfqbS6LyU02rkaSZprWSxW+NSP3K7oHSQr2xfqjV8CqGGZtG//RTjZY7XkS2DPT6hC7Q== Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/flashsv: Check inflate() for failure 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: GNOq7ilwLfqw Fixes: CID1047223 Signed-off-by: Michael Niedermayer --- libavcodec/flashsv.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/flashsv.c b/libavcodec/flashsv.c index 0982161d49..d8943d9cf8 100644 --- a/libavcodec/flashsv.c +++ b/libavcodec/flashsv.c @@ -149,7 +149,9 @@ static int flashsv2_prime(FlashSVContext *s, const uint8_t *src, int size) zstream->avail_in = size; zstream->next_out = data; zstream->avail_out = s->block_size * 3; - inflate(zstream, Z_SYNC_FLUSH); + zret = inflate(zstream, Z_SYNC_FLUSH); + if (zret != Z_OK && zret != Z_STREAM_END) + return AVERROR_UNKNOWN; remaining = s->block_size * 3 - zstream->avail_out; if ((zret = inflateReset(zstream)) != Z_OK) { @@ -165,7 +167,9 @@ static int flashsv2_prime(FlashSVContext *s, const uint8_t *src, int size) * out of the output from above. See section 3.2.4 of RFC 1951. */ zstream->next_in = zlib_header; zstream->avail_in = sizeof(zlib_header); - inflate(zstream, Z_SYNC_FLUSH); + zret = inflate(zstream, Z_SYNC_FLUSH); + if (zret != Z_OK) + return AVERROR_UNKNOWN; while (remaining > 0) { unsigned block_size = FFMIN(UINT16_MAX, remaining); uint8_t header[5];