Fix stop condition and make sure we have some
sentinel at the end of buffer to make sure
loop can properly terminate.

Coverity issue: 383661
Fixes: 17c839f74da3 ("bus: add platform bus")

Signed-off-by: Tomasz Duszynski <tduszyn...@marvell.com>
---
 drivers/bus/platform/platform.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/platform/platform.c b/drivers/bus/platform/platform.c
index 536d9524c6..a2faacdf18 100644
--- a/drivers/bus/platform/platform.c
+++ b/drivers/bus/platform/platform.c
@@ -249,11 +249,11 @@ of_resource_name(const char *dev_name, int index)
        char *name;
 
        snprintf(path, sizeof(path), PLATFORM_BUS_DEVICES_PATH 
"/%s/of_node/reg-names", dev_name);
-       ret = read_sysfs_string(path, buf, sizeof(buf));
+       ret = read_sysfs_string(path, buf, sizeof(buf) - 1);
        if (ret)
                return NULL;
 
-       for (name = buf; name; name += strlen(name) + 1) {
+       for (name = buf; *name != 0; name += strlen(name) + 1) {
                if (num++ != index)
                        continue;
                return strdup(name);
-- 
2.34.1

Reply via email to