aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/common/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/boot/common/module.c')
-rw-r--r--sys/boot/common/module.c47
1 files changed, 30 insertions, 17 deletions
diff --git a/sys/boot/common/module.c b/sys/boot/common/module.c
index 15c48075b261..e1975ffc9fe1 100644
--- a/sys/boot/common/module.c
+++ b/sys/boot/common/module.c
@@ -143,7 +143,8 @@ command_load(int argc, char *argv[])
fp = file_findfile(argv[1], typestr);
if (fp) {
- sprintf(command_errbuf, "warning: file '%s' already loaded", argv[1]);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "warning: file '%s' already loaded", argv[1]);
return (CMD_WARN);
}
@@ -162,7 +163,8 @@ command_load(int argc, char *argv[])
if (dokld || file_havepath(argv[1])) {
error = mod_loadkld(argv[1], argc - 2, argv + 2);
if (error == EEXIST) {
- sprintf(command_errbuf, "warning: KLD '%s' already loaded", argv[1]);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "warning: KLD '%s' already loaded", argv[1]);
return (CMD_WARN);
}
@@ -173,7 +175,8 @@ command_load(int argc, char *argv[])
*/
error = mod_load(argv[1], NULL, argc - 2, argv + 2);
if (error == EEXIST) {
- sprintf(command_errbuf, "warning: module '%s' already loaded", argv[1]);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "warning: module '%s' already loaded", argv[1]);
return (CMD_WARN);
}
@@ -202,7 +205,8 @@ command_load_geli(int argc, char *argv[])
case 'n':
num = strtol(optarg, &cp, 0);
if (cp == optarg) {
- sprintf(command_errbuf, "bad key index '%s'", optarg);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "bad key index '%s'", optarg);
return(CMD_ERROR);
}
break;
@@ -334,8 +338,8 @@ file_load(char *filename, vm_offset_t dest, struct preloaded_file **result)
if (error == EFTYPE)
continue; /* Unknown to this handler? */
if (error) {
- sprintf(command_errbuf, "can't load file '%s': %s",
- filename, strerror(error));
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "can't load file '%s': %s", filename, strerror(error));
break;
}
}
@@ -371,8 +375,8 @@ file_load_dependencies(struct preloaded_file *base_file)
*/
mp = file_findmodule(NULL, dmodname, verinfo);
if (mp == NULL) {
- sprintf(command_errbuf, "module '%s' exists but with wrong version",
- dmodname);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "module '%s' exists but with wrong version", dmodname);
error = ENOENT;
break;
}
@@ -411,12 +415,14 @@ file_loadraw(const char *fname, char *type, int insert)
/* locate the file on the load path */
name = file_search(fname, NULL);
if (name == NULL) {
- sprintf(command_errbuf, "can't find '%s'", fname);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "can't find '%s'", fname);
return(NULL);
}
if ((fd = open(name, O_RDONLY)) < 0) {
- sprintf(command_errbuf, "can't open '%s': %s", name, strerror(errno));
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "can't open '%s': %s", name, strerror(errno));
free(name);
return(NULL);
}
@@ -433,7 +439,8 @@ file_loadraw(const char *fname, char *type, int insert)
if (got == 0) /* end of file */
break;
if (got < 0) { /* error */
- sprintf(command_errbuf, "error reading '%s': %s", name, strerror(errno));
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "error reading '%s': %s", name, strerror(errno));
free(name);
close(fd);
return(NULL);
@@ -487,13 +494,15 @@ mod_load(char *modname, struct mod_depend *verinfo, int argc, char *argv[])
free(mp->m_args);
mp->m_args = unargv(argc, argv);
#endif
- sprintf(command_errbuf, "warning: module '%s' already loaded", mp->m_name);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "warning: module '%s' already loaded", mp->m_name);
return (0);
}
/* locate file with the module on the search path */
filename = mod_searchmodule(modname, verinfo);
if (filename == NULL) {
- sprintf(command_errbuf, "can't find '%s'", modname);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "can't find '%s'", modname);
return (ENOENT);
}
err = mod_loadkld(filename, argc, argv);
@@ -516,7 +525,8 @@ mod_loadkld(const char *kldname, int argc, char *argv[])
*/
filename = file_search(kldname, kld_ext_list);
if (filename == NULL) {
- sprintf(command_errbuf, "can't find '%s'", kldname);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "can't find '%s'", kldname);
return (ENOENT);
}
/*
@@ -524,7 +534,8 @@ mod_loadkld(const char *kldname, int argc, char *argv[])
*/
fp = file_findfile(filename, NULL);
if (fp) {
- sprintf(command_errbuf, "warning: KLD '%s' already loaded", filename);
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "warning: KLD '%s' already loaded", filename);
free(filename);
return (0);
}
@@ -548,8 +559,10 @@ mod_loadkld(const char *kldname, int argc, char *argv[])
break;
}
} while(0);
- if (err == EFTYPE)
- sprintf(command_errbuf, "don't know how to load module '%s'", filename);
+ if (err == EFTYPE) {
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "don't know how to load module '%s'", filename);
+ }
if (err && fp)
file_discard(fp);
free(filename);