2017-12-04 14:50:28

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] cros_ec: fix nul-termination for firmware build info

As gcc-8 reports, we zero out the wrong byte:

drivers/platform/chrome/cros_ec_sysfs.c: In function 'show_ec_version':
drivers/platform/chrome/cros_ec_sysfs.c:190:12: error: array subscript 4294967295 is above array bounds of 'uint8_t[]' [-Werror=array-bounds]

This changes the code back to what it did before changing to a
zero-length array structure.

Fixes: a841178445bb ("mfd: cros_ec: Use a zero-length array for command data")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/platform/chrome/cros_ec_sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/chrome/cros_ec_sysfs.c b/drivers/platform/chrome/cros_ec_sysfs.c
index f3baf9973989..24f1630a8b3f 100644
--- a/drivers/platform/chrome/cros_ec_sysfs.c
+++ b/drivers/platform/chrome/cros_ec_sysfs.c
@@ -187,7 +187,7 @@ static ssize_t show_ec_version(struct device *dev,
count += scnprintf(buf + count, PAGE_SIZE - count,
"Build info: EC error %d\n", msg->result);
else {
- msg->data[sizeof(msg->data) - 1] = '\0';
+ msg->data[EC_HOST_PARAM_SIZE - 1] = '\0';
count += scnprintf(buf + count, PAGE_SIZE - count,
"Build info: %s\n", msg->data);
}
--
2.9.0


2017-12-16 05:08:37

by Benson Leung

[permalink] [raw]
Subject: Re: [PATCH] cros_ec: fix nul-termination for firmware build info

Hi Arnd,

On Mon, Dec 04, 2017 at 03:49:48PM +0100, Arnd Bergmann wrote:
> As gcc-8 reports, we zero out the wrong byte:
>
> drivers/platform/chrome/cros_ec_sysfs.c: In function 'show_ec_version':
> drivers/platform/chrome/cros_ec_sysfs.c:190:12: error: array subscript 4294967295 is above array bounds of 'uint8_t[]' [-Werror=array-bounds]
>
> This changes the code back to what it did before changing to a
> zero-length array structure.
>
> Fixes: a841178445bb ("mfd: cros_ec: Use a zero-length array for command data")
> Signed-off-by: Arnd Bergmann <[email protected]>

Applied. Thanks!

Benson

--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
[email protected]
Chromium OS Project
[email protected]


Attachments:
(No filename) (727.00 B)
signature.asc (819.00 B)
Digital signature
Download all attachments