platform/chrome: cros_ec_lpc: initialize the buf variable

Message ID 20230110193611.3573777-1-trix@redhat.com
State New
Headers
Series platform/chrome: cros_ec_lpc: initialize the buf variable |

Commit Message

Tom Rix Jan. 10, 2023, 7:36 p.m. UTC
  Clang static analysis reports this problem
drivers/platform/chrome/cros_ec_lpc.c:379:13: warning: The left operand
  of '!=' is a garbage value [core.UndefinedBinaryOperatorResult]
    if (buf[0] != 'E' || buf[1] != 'C') {
         ~~~~~~ ^

The check depends on the side effect of the read.  When the read fails
or is short, a buf containing garbage could be mistaken as correct.

Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/platform/chrome/cros_ec_lpc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

patchwork-bot+chrome-platform@kernel.org Jan. 11, 2023, 3:30 a.m. UTC | #1
Hello:

This patch was applied to chrome-platform/linux.git (for-kernelci)
by Tzung-Bi Shih <tzungbi@kernel.org>:

On Tue, 10 Jan 2023 14:36:11 -0500 you wrote:
> Clang static analysis reports this problem
> drivers/platform/chrome/cros_ec_lpc.c:379:13: warning: The left operand
>   of '!=' is a garbage value [core.UndefinedBinaryOperatorResult]
>     if (buf[0] != 'E' || buf[1] != 'C') {
>          ~~~~~~ ^
> 
> The check depends on the side effect of the read.  When the read fails
> or is short, a buf containing garbage could be mistaken as correct.
> 
> [...]

Here is the summary with links:
  - platform/chrome: cros_ec_lpc: initialize the buf variable
    https://git.kernel.org/chrome-platform/c/2ae3c610e7d2

You are awesome, thank you!
  
patchwork-bot+chrome-platform@kernel.org Jan. 13, 2023, 9:20 p.m. UTC | #2
Hello:

This patch was applied to chrome-platform/linux.git (for-next)
by Tzung-Bi Shih <tzungbi@kernel.org>:

On Tue, 10 Jan 2023 14:36:11 -0500 you wrote:
> Clang static analysis reports this problem
> drivers/platform/chrome/cros_ec_lpc.c:379:13: warning: The left operand
>   of '!=' is a garbage value [core.UndefinedBinaryOperatorResult]
>     if (buf[0] != 'E' || buf[1] != 'C') {
>          ~~~~~~ ^
> 
> The check depends on the side effect of the read.  When the read fails
> or is short, a buf containing garbage could be mistaken as correct.
> 
> [...]

Here is the summary with links:
  - platform/chrome: cros_ec_lpc: initialize the buf variable
    https://git.kernel.org/chrome-platform/c/2ae3c610e7d2

You are awesome, thank you!
  

Patch

diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c
index 3708fa75feb1..68bba0fcafab 100644
--- a/drivers/platform/chrome/cros_ec_lpc.c
+++ b/drivers/platform/chrome/cros_ec_lpc.c
@@ -350,7 +350,7 @@  static int cros_ec_lpc_probe(struct platform_device *pdev)
 	struct acpi_device *adev;
 	acpi_status status;
 	struct cros_ec_device *ec_dev;
-	u8 buf[2];
+	u8 buf[2] = {};
 	int irq, ret;
 
 	/*