From patchwork Mon Jul 8 22:24:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 50421 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:fad:b0:482:c625:d099 with SMTP id kf13csp29052vqb; Mon, 8 Jul 2024 15:24:41 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVZk1L2PUdDe6lG3W6OMCR4RqCePS9dJ8HK/TNJMEPnoDBpXTGtfeD6ggPmRvxttXRCZT//xEYnYoPwosVMnQMy8oqnH7nfyXC7+A== X-Google-Smtp-Source: AGHT+IHBDvc8CFyPHXn1vIDRE/cBePr4vBfoFtlctUOKJyVSpH/+02BeZDZyBo8JmzE57difVz57 X-Received: by 2002:a2e:9bd8:0:b0:2ee:8a8c:ce5c with SMTP id 38308e7fff4ca-2eeb31818f1mr6595361fa.37.1720477481541; Mon, 08 Jul 2024 15:24:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1720477481; cv=none; d=google.com; s=arc-20160816; b=OU67UOxGObIxw4jrlZaUctXv7rboxFDAhwkebNqAsjKf9SmqI6HMhY9P7Jn5sgY+85 m9CRyiITnEJkvAeT7k0RtD5ze3Sn8y/sH22SdmGAXsIX5Sr3XUyWKNTof8nYJkYy7tch AEiGJedP+PcQFS2ETJrb8KlS4t9VPE3UXOT4ngcM9JxxINzyknvt/kf3JXJ05nQZHzW9 jdBTtCbEwwnGBU3XLM5cbff/tMgBj0S70ZCguytpJt2v46oAp6EhVHllFRoQtUf7Ef5i eOmjksy0fu5F9fFB342yfEd4i1oM2l9tZikShXjsdiFgSWNwSVG/ZrJlxbggAGw0lyNr zWkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=FMovIkeNKoQ1PlcqgRrNGElu9vTpq0k3ghGcuY39Ccg=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=Zm3FKnqT0b0c0+QccPXa2rWN3fDZ+G2stV09FdxwqfAoQfodw6BPErGFNe4yM04RtF bNi4cByZEqsy/v+tWPB91tjz8EBCjSqgK7TF5k4F+6Rv2+PFaQk/9kVLNFof8VMvlCpY +iB7/f3eiChhKcHSXxQQRugdEld3jTFeid9FS72IaPOt+9e1O2QorzSwhVjOEqo85xfP bnJeG4IP5BCG9ALpmr61+jRzVdZ6Z42rSwHC4RS3AUnJI4O4D+Kukm5gi63EQyD/PkG/ UIkIl4TZn5v7NyKHGAdGEvbqbugjrgPJjMDDPJDsYMsJBjJf/mHfLvYQh1Qc+7OBgtr7 7Ghw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=ELALRqow; 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 4fb4d7f45d1cf-594bbe2c85esi272519a12.131.2024.07.08.15.24.41; Mon, 08 Jul 2024 15:24:41 -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; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=ELALRqow; 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 DC0CB68DC90; Tue, 9 Jul 2024 01:24:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7128A68DA43 for ; Tue, 9 Jul 2024 01:24:15 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id A191F20005 for ; Mon, 8 Jul 2024 22:24:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1720477454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9wjrz3ZldZPfvH2P6qnRhxwlR5p7N1uRWAOFLVAFK+A=; b=ELALRqowD8iOWSHgPgak2cpHx50hYJQWdS0aahuRhyDnr7hhD6hMglsr3lVQSAEW9Evxn1 0v61Kb0mlZqvKy6TxEz1eRj6irl1IqqPO0wvepF5UjcUWDF06TD9kte2hgSj84R2YpgHly g5UWxKtcDOXJGHbDXFre7komcRoDyjUrO9zec/71u6WtfIfs7XOKPmMbU0/BGfftkywh6K Wp+KUHHEO8T/irnZMKJakCu0L+S0xflKPq/4cPoqlGk8JtiJ+bbRtYZ9zUgH0cYbi9PjKe YioughUVk96NrO7cknSKZI6IRvwbFVPMUvMvWxfiYHL9N//zCv5Opv/XienP4g== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Tue, 9 Jul 2024 00:24:05 +0200 Message-ID: <20240708222410.773456-3-michael@niedermayer.cc> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240708222410.773456-1-michael@niedermayer.cc> References: <20240708222410.773456-1-michael@niedermayer.cc> MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 3/8] avfilter/vf_lut3d: Check av_scanf() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Rv63dlvG+0FH Fixes: CID1604398 Unchecked return value Fixes: CID1604542 Unchecked return value Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer --- libavfilter/vf_lut3d.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c index d8ceb2a4240..929bf61b877 100644 --- a/libavfilter/vf_lut3d.c +++ b/libavfilter/vf_lut3d.c @@ -703,7 +703,8 @@ try_again: else if (!strncmp(line + 7, "MAX ", 4)) vals = max; if (!vals) return AVERROR_INVALIDDATA; - av_sscanf(line + 11, "%f %f %f", vals, vals + 1, vals + 2); + if (av_sscanf(line + 11, "%f %f %f", vals, vals + 1, vals + 2) != 3) + return AVERROR_INVALIDDATA; av_log(ctx, AV_LOG_DEBUG, "min: %f %f %f | max: %f %f %f\n", min[0], min[1], min[2], max[0], max[1], max[2]); goto try_again; @@ -1734,12 +1735,14 @@ try_again: else if (!strncmp(line + 7, "MAX ", 4)) vals = max; if (!vals) return AVERROR_INVALIDDATA; - av_sscanf(line + 11, "%f %f %f", vals, vals + 1, vals + 2); + if (av_sscanf(line + 11, "%f %f %f", vals, vals + 1, vals + 2) != 3) + return AVERROR_INVALIDDATA; av_log(ctx, AV_LOG_DEBUG, "min: %f %f %f | max: %f %f %f\n", min[0], min[1], min[2], max[0], max[1], max[2]); goto try_again; } else if (!strncmp(line, "LUT_1D_INPUT_RANGE ", 19)) { - av_sscanf(line + 19, "%f %f", min, max); + if (av_sscanf(line + 19, "%f %f", min, max) != 2) + return AVERROR_INVALIDDATA; min[1] = min[2] = min[0]; max[1] = max[2] = max[0]; goto try_again;