X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=discover%2Fplatform-powerpc.c;h=2480b8d29129fd27da866dc02e869c248c00b8b2;hb=c9c964c8c03c766d94d4798231d6e3db191c57df;hp=280793425198a483ecea8c1e4217b9844728d842;hpb=cecbe53013e9ed85fd5b2429c230759d59025644;p=petitboot diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index 2807934..2480b8d 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -179,7 +179,7 @@ static int write_nvram(struct platform_powerpc *platform) struct process *process; struct param *param; const char *argv[6]; - int rc; + int rc = 0; argv[0] = "nvram"; argv[1] = "--update-config"; @@ -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) {