From: Samuel Mendoza-Jonas Date: Mon, 9 Nov 2015 03:59:41 +0000 (+1100) Subject: discover: Use snprintf() when building sysparam path X-Git-Tag: v1.0.0~34^2~9 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=df751aad6736c25a3f3088ad626bd28d2ced1991;hp=eea8cf830616dbbd9024b7d704cf0ccf2dac4767 discover: Use snprintf() when building sysparam path Fixes Coverity defects #30481 and #30482 Signed-off-by: Samuel Mendoza-Jonas --- 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) {