summaryrefslogtreecommitdiffstats
path: root/usr.sbin/config/mkoptions.c
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>1996-12-14 19:44:13 +0000
committerjoerg <joerg@FreeBSD.org>1996-12-14 19:44:13 +0000
commit000a733206a490453542c9e437941673ec57912a (patch)
tree3f6b1c56b332fa464f32c498675cd4b15bef6ee2 /usr.sbin/config/mkoptions.c
parent9395a75d3036be477ebade57b19f2db19bea8b82 (diff)
downloadFreeBSD-src-000a733206a490453542c9e437941673ec57912a.zip
FreeBSD-src-000a733206a490453542c9e437941673ec57912a.tar.gz
Round #1 of cleaning up the config(8) mess. This is only the more
conservative part of the tidyup, like fixing potential buffer overflow conditions. It is believed to be safe to go into 2.2. Pointed out by: lozenko@cc.acnit.ac.ru (Evgeny A. Lozenko)
Diffstat (limited to 'usr.sbin/config/mkoptions.c')
-rw-r--r--usr.sbin/config/mkoptions.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/usr.sbin/config/mkoptions.c b/usr.sbin/config/mkoptions.c
index f722d93..40fe87e 100644
--- a/usr.sbin/config/mkoptions.c
+++ b/usr.sbin/config/mkoptions.c
@@ -221,7 +221,7 @@ tooption(name)
read_options()
{
FILE *fp;
- char fname[32];
+ char fname[80];
char *wd, *this, *val;
struct opt_list *po;
int first = 1;
@@ -229,7 +229,7 @@ read_options()
char *lower();
otab = 0;
- (void) strcpy(fname, "../../conf/options");
+ (void) snprintf(fname, sizeof fname, "../../conf/options");
openit:
fp = fopen(fname, "r");
if (fp == 0) {
@@ -244,12 +244,12 @@ next:
if (wd == (char *)EOF) {
(void) fclose(fp);
if (first == 1) {
- (void) sprintf(fname, "options.%s", machinename);
+ (void) snprintf(fname, sizeof fname, "options.%s", machinename);
first++;
goto openit;
}
if (first == 2) {
- (void) sprintf(fname, "options.%s", raise(ident));
+ (void) snprintf(fname, sizeof fname, "options.%s", raise(ident));
first++;
fp = fopen(fname, "r");
if (fp != 0)
@@ -274,9 +274,7 @@ next:
return;
if (val == 0) {
char *s = ns(this);
- (void) strcpy(genopt, "opt_");
- (void) strcat(genopt, lower(s));
- (void) strcat(genopt, ".h");
+ (void) snprintf(genopt, sizeof genopt, "opt_%s.h", lower(s));
val = genopt;
free(s);
}
OpenPOWER on IntegriCloud