From df751aad6736c25a3f3088ad626bd28d2ced1991 Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Mon, 9 Nov 2015 14:59:41 +1100 Subject: [PATCH] discover: Use snprintf() when building sysparam path Fixes Coverity defects #30481 and #30482 Signed-off-by: Samuel Mendoza-Jonas --- discover/platform-powerpc.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index ce4eb81..2480b8d 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -759,9 +759,8 @@ static int read_bootdev_sysparam(const char *name, uint8_t *val) char path[50]; int fd, rc; - strcpy(path, sysparams_dir); - assert(strlen(name) < sizeof(path) - strlen(path)); - strcat(path, name); + assert(strlen(sysparams_dir) + strlen(name) < sizeof(path)); + snprintf(path, sizeof(path), "%s%s", sysparams_dir, name); fd = open(path, O_RDONLY); if (fd < 0) { @@ -795,9 +794,8 @@ static int write_bootdev_sysparam(const char *name, uint8_t val) char path[50]; int fd, rc; - strcpy(path, sysparams_dir); - assert(strlen(name) < sizeof(path) - strlen(path)); - strcat(path, name); + assert(strlen(sysparams_dir) + strlen(name) < sizeof(path)); + snprintf(path, sizeof(path), "%s%s", sysparams_dir, name); fd = open(path, O_WRONLY); if (fd < 0) { -- 2.39.2