All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: linux-media@vger.kernel.org
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Hans de Goede <hdegoede@redhat.com>
Subject: [PATCH 8/8] staging: media: atomisp: move up sanity checks
Date: Wed, 24 May 2023 14:11:50 +0200	[thread overview]
Message-ID: <20230524121150.435736-9-hverkuil-cisco@xs4all.nl> (raw)
In-Reply-To: <20230524121150.435736-1-hverkuil-cisco@xs4all.nl>

The sanity checks were done too late, so move them up.

This fixes this smatch warning:

drivers/staging/media/atomisp/pci/sh_css_firmware.c:247 sh_css_load_firmware() warn: variable dereferenced before check 'fw_data' (see line 237)

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Hans de Goede <hdegoede@redhat.com>
---
 .../staging/media/atomisp/pci/sh_css_firmware.c   | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/sh_css_firmware.c b/drivers/staging/media/atomisp/pci/sh_css_firmware.c
index e7ef578db8ab..fb3f63938882 100644
--- a/drivers/staging/media/atomisp/pci/sh_css_firmware.c
+++ b/drivers/staging/media/atomisp/pci/sh_css_firmware.c
@@ -229,8 +229,16 @@ sh_css_load_firmware(struct device *dev, const char *fw_data,
 	struct sh_css_fw_bi_file_h *file_header;
 	int ret;
 
+	/* some sanity checks */
+	if (!fw_data || fw_size < sizeof(struct sh_css_fw_bi_file_h))
+		return -EINVAL;
+
 	firmware_header = (struct firmware_header *)fw_data;
 	file_header = &firmware_header->file_header;
+
+	if (file_header->h_size != sizeof(struct sh_css_fw_bi_file_h))
+		return -EINVAL;
+
 	binaries = &firmware_header->binary_header;
 	strscpy(FW_rel_ver_name, file_header->version,
 		min(sizeof(FW_rel_ver_name), sizeof(file_header->version)));
@@ -243,13 +251,6 @@ sh_css_load_firmware(struct device *dev, const char *fw_data,
 		IA_CSS_LOG("successfully load firmware version %s", release_version);
 	}
 
-	/* some sanity checks */
-	if (!fw_data || fw_size < sizeof(struct sh_css_fw_bi_file_h))
-		return -EINVAL;
-
-	if (file_header->h_size != sizeof(struct sh_css_fw_bi_file_h))
-		return -EINVAL;
-
 	sh_css_num_binaries = file_header->binary_nr;
 	/* Only allocate memory for ISP blob info */
 	if (sh_css_num_binaries > NUM_OF_SPS) {
-- 
2.39.2


      parent reply	other threads:[~2023-05-24 12:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-24 12:11 [PATCH 0/8] Various smatch/sparse fixes Hans Verkuil
2023-05-24 12:11 ` [PATCH 1/8] staging: media: atomisp: initialize settings to 0 Hans Verkuil
2023-05-24 16:04   ` Hans de Goede
2023-05-25  7:18     ` Hans Verkuil
2023-05-24 12:11 ` [PATCH 2/8] media: rockchip: rga: fix clock cleanup Hans Verkuil
2023-05-25  8:17   ` Michael Tretter
2023-05-24 12:11 ` [PATCH 3/8] media: usb: as102: drop as102_dev NULL check Hans Verkuil
2023-05-24 12:11 ` [PATCH 4/8] media: platform: renesas-ceu: drop buf " Hans Verkuil
2023-05-25 13:43   ` Jacopo Mondi
2023-05-24 12:11 ` [PATCH 5/8] media: platform: mediatek: vpu: fix NULL ptr dereference Hans Verkuil
2023-05-24 12:11 ` [PATCH 6/8] media: mediatek: vpu: add missing clk_unprepare Hans Verkuil
2023-05-24 12:11 ` [PATCH 7/8] media: pci: tw686x: no need to check 'next' Hans Verkuil
2023-05-24 12:11 ` Hans Verkuil [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230524121150.435736-9-hverkuil-cisco@xs4all.nl \
    --to=hverkuil-cisco@xs4all.nl \
    --cc=hdegoede@redhat.com \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.