[PATCHES] setenv(putenv) patchset
Alexey Slynko
slynko at tronet.ru
Tue Aug 16 12:08:55 PDT 2005
Hi,
this patchset check result of setenv(putenv) function.
It doesn't patch /contrib,/crypto and /sys subtrees.
Also it dowsn't patch /lib/libutil/login_class.c, because I have no
idea, how it can be done
? usr.bin/make/make
? usr.bin/make/make.1.gz
Index: bin/date/date.c
===================================================================
RCS file: /home/dcvs/src/bin/date/date.c,v
retrieving revision 1.13
diff -u -r1.13 date.c
--- bin/date/date.c 20 Jul 2005 19:51:56 -0000 1.13
+++ bin/date/date.c 16 Aug 2005 17:37:29 -0000
@@ -117,7 +117,9 @@
set_timezone = 1;
break;
case 'u': /* do everything in UTC */
- setenv("TZ", "UTC0", 1);
+ if (setenv("TZ", "UTC0", 1) == -1) {
+ err(1, "setenv: TZ");
+ }
break;
case 'v':
v = vary_append(v, optarg);
Index: bin/df/df.c
===================================================================
RCS file: /home/dcvs/src/bin/df/df.c,v
retrieving revision 1.5
diff -u -r1.5 df.c
--- bin/df/df.c 7 Nov 2004 20:54:51 -0000 1.5
+++ bin/df/df.c 16 Aug 2005 17:37:29 -0000
@@ -144,11 +144,13 @@
case 'b':
/* FALLTHROUGH */
case 'P':
- putenv("BLOCKSIZE=512");
+ if (putenv("BLOCKSIZE=512") == -1)
+ err(1, "putenv: BLOCKSIZE=512");
hflag = 0;
break;
case 'g':
- putenv("BLOCKSIZE=1g");
+ if (putenv("BLOCKSIZE=1g") == -1)
+ err(1, "putenv: BLOCKSIZE=1g");
hflag = 0;
break;
case 'H':
@@ -163,7 +165,8 @@
iflag = 1;
break;
case 'k':
- putenv("BLOCKSIZE=1k");
+ if (putenv("BLOCKSIZE=1k") == -1)
+ err(1, "putenv: BLOCKSIZE=1k");
hflag = 0;
break;
case 'l':
@@ -172,7 +175,8 @@
vfslist = makevfslist(makenetvfslist());
break;
case 'm':
- putenv("BLOCKSIZE=1m");
+ if (putenv("BLOCKSIZE=1m") == -1)
+ err(1, "putenv: BLOCKSIZE=1m");
hflag = 0;
break;
case 'n':
Index: bin/ls/ls.c
===================================================================
RCS file: /home/dcvs/src/bin/ls/ls.c,v
retrieving revision 1.6
diff -u -r1.6 ls.c
--- bin/ls/ls.c 7 Nov 2004 20:54:51 -0000 1.6
+++ bin/ls/ls.c 16 Aug 2005 17:37:30 -0000
@@ -204,7 +204,8 @@
fts_options |= FTS_COMFOLLOW;
break;
case 'G':
- setenv("CLICOLOR", "", 1);
+ if (setenv("CLICOLOR", "", 1) == -1)
+ err(1, "setenv: CLICOLOR");
break;
case 'L':
fts_options &= ~FTS_PHYSICAL;
Index: bin/sh/var.c
===================================================================
RCS file: /home/dcvs/src/bin/sh/var.c,v
retrieving revision 1.8
diff -u -r1.8 var.c
--- bin/sh/var.c 19 Apr 2005 05:18:19 -0000 1.8
+++ bin/sh/var.c 16 Aug 2005 17:37:30 -0000
@@ -41,6 +41,9 @@
#include <unistd.h>
#include <stdlib.h>
+#include <err.h>
+#include <errno.h>
+
/*
* Shell variables.
*/
@@ -316,7 +319,8 @@
if (vp == &vmpath || (vp == &vmail && ! mpathset()))
chkmail(1);
if ((vp->flags & VEXPORT) && localevar(s)) {
- putenv(s);
+ if (putenv(s) == -1)
+ error("putenv: %s: %s", s, strerror(errno));
setlocale(LC_ALL, "");
}
INTON;
@@ -332,7 +336,8 @@
INTOFF;
*vpp = vp;
if ((vp->flags & VEXPORT) && localevar(s)) {
- putenv(s);
+ if (putenv(s) == -1)
+ error("putenv: %s: %s", s, strerror(errno));
setlocale(LC_ALL, "");
}
INTON;
@@ -553,7 +558,8 @@
vp->flags |= flag;
if ((vp->flags & VEXPORT) && localevar(vp->text)) {
- putenv(vp->text);
+ if (putenv(vp->text) == -1)
+ error("putenv: %s: %s", vp->text, strerror(errno));
setlocale(LC_ALL, "");
}
goto found;
Index: libexec/ftpd/popen.c
===================================================================
RCS file: /home/dcvs/src/libexec/ftpd/popen.c,v
retrieving revision 1.2
diff -u -r1.2 popen.c
--- libexec/ftpd/popen.c 17 Jun 2003 04:27:07 -0000 1.2
+++ libexec/ftpd/popen.c 16 Aug 2005 17:37:43 -0000
@@ -42,6 +42,7 @@
#include <sys/wait.h>
#include <netinet/in.h>
+#include <err.h>
#include <errno.h>
#include <glob.h>
#include <signal.h>
@@ -146,7 +147,8 @@
closelog();
/* Trigger to sense new /etc/localtime after chroot */
if (getenv("TZ") == NULL) {
- setenv("TZ", "", 0);
+ if (setenv("TZ", "", 0) == -1)
+ err(1, "setenv: TZ");
tzset();
unsetenv("TZ");
tzset();
Index: libexec/telnetd/state.c
===================================================================
RCS file: /home/dcvs/src/libexec/telnetd/state.c,v
retrieving revision 1.2
diff -u -r1.2 state.c
--- libexec/telnetd/state.c 17 Jun 2003 04:27:08 -0000 1.2
+++ libexec/telnetd/state.c 16 Aug 2005 17:37:43 -0000
@@ -1162,7 +1162,10 @@
return;
settimer(xdisplocsubopt);
subpointer[SB_LEN()] = '\0';
- (void)setenv("DISPLAY", (char *)subpointer, 1);
+ if (setenv("DISPLAY", (char *)subpointer, 1) == -1) {
+ syslog(LOG_ERR, "setenv: DISPLAY: %m");
+ exit(1);
+ }
break;
} /* end of case TELOPT_XDISPLOC */
@@ -1327,9 +1330,12 @@
case NEW_ENV_VAR:
case ENV_USERVAR:
*cp = '\0';
- if (valp)
- (void)setenv(varp, valp, 1);
- else
+ if (valp) {
+ if (setenv(varp, valp, 1) == 1) {
+ syslog(LOG_ERR, "setenv: %s: %m", varp);
+ exit(1);
+ }
+ } else
unsetenv(varp);
cp = varp = (char *)subpointer;
valp = 0;
@@ -1346,9 +1352,12 @@
}
}
*cp = '\0';
- if (valp)
- (void)setenv(varp, valp, 1);
- else
+ if (valp) {
+ if (setenv(varp, valp, 1) == -1) {
+ syslog(LOG_ERR, "setenv: %s: %m", varp);
+ exit(1);
+ }
+ } else
unsetenv(varp);
break;
} /* end of case TELOPT_NEW_ENVIRON */
Index: libexec/telnetd/sys_term.c
===================================================================
RCS file: /home/dcvs/src/libexec/telnetd/sys_term.c,v
retrieving revision 1.2
diff -u -r1.2 sys_term.c
--- libexec/telnetd/sys_term.c 17 Jun 2003 04:27:08 -0000 1.2
+++ libexec/telnetd/sys_term.c 16 Aug 2005 17:37:43 -0000
@@ -1026,12 +1026,19 @@
* "real" or "kludge" if we are operating in either
* real or kludge linemode.
*/
- if (lmodetype == REAL_LINEMODE)
- setenv("LINEMODE", "real", 1);
+ if (lmodetype == REAL_LINEMODE) {
+ if (setenv("LINEMODE", "real", 1) == -1) {
+ syslog(LOG_ERR, "setenv: LINEMODE: %m");
+ exit(1);
+ }
# ifdef KLUDGELINEMODE
- else if (lmodetype == KLUDGE_LINEMODE || lmodetype == KLUDGE_OK)
- setenv("LINEMODE", "kludge", 1);
+ } else if (lmodetype == KLUDGE_LINEMODE || lmodetype == KLUDGE_OK) {
+ if (setenv("LINEMODE", "kludge", 1) == -1) {
+ syslog(LOG_ERR, "setenv: LINEMODE: %m");
+ exit(1);
+ }
# endif
+ }
#endif
#ifdef BFTPDAEMON
/*
Index: libexec/telnetd/telnetd.c
===================================================================
RCS file: /home/dcvs/src/libexec/telnetd/telnetd.c,v
retrieving revision 1.2
diff -u -r1.2 telnetd.c
--- libexec/telnetd/telnetd.c 17 Jun 2003 04:27:08 -0000 1.2
+++ libexec/telnetd/telnetd.c 16 Aug 2005 17:37:43 -0000
@@ -590,7 +590,10 @@
*/
*user_name = 0;
level = getterminaltype(user_name);
- setenv("TERM", terminaltype ? terminaltype : "network", 1);
+ if (setenv("TERM", terminaltype ? terminaltype : "network", 1) == -1) {
+ syslog(LOG_ERR, "setenv: TERM: %m");
+ _exit(1);
+ }
telnet(net, pty, remote_hostname); /* begin server process */
Index: usr.bin/du/du.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/du/du.c,v
retrieving revision 1.7
diff -u -r1.7 du.c
--- usr.bin/du/du.c 1 Jan 2005 23:02:42 -0000 1.7
+++ usr.bin/du/du.c 16 Aug 2005 17:37:53 -0000
@@ -155,13 +155,15 @@
cflag = 1;
break;
case 'h':
- putenv("BLOCKSIZE=512");
+ if (putenv("BLOCKSIZE=512") == -1)
+ err(1, "putenv: BLOCKSIZE=512");
hflag = 1;
valp = vals_base2;
break;
case 'k':
hflag = 0;
- putenv("BLOCKSIZE=1024");
+ if (putenv("BLOCKSIZE=1024") == -1)
+ err(1, "putenv: BLOCKSIZE=1024");
break;
case 'r': /* Compatibility. */
break;
Index: usr.bin/fetch/fetch.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/fetch/fetch.c,v
retrieving revision 1.5
diff -u -r1.5 fetch.c
--- usr.bin/fetch/fetch.c 4 Jan 2005 23:08:13 -0000 1.5
+++ usr.bin/fetch/fetch.c 16 Aug 2005 17:37:53 -0000
@@ -906,7 +906,8 @@
if (v_tty)
fetchAuthMethod = query_auth;
if (N_filename != NULL)
- setenv("NETRC", N_filename, 1);
+ if (setenv("NETRC", N_filename, 1) == -1)
+ err(1, "setenv: NETRC");
while (argc) {
if ((p = strrchr(*argv, '/')) == NULL)
Index: usr.bin/ldd/ldd.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/ldd/ldd.c,v
retrieving revision 1.5
diff -u -r1.5 ldd.c
--- usr.bin/ldd/ldd.c 24 Jul 2005 15:04:56 -0000 1.5
+++ usr.bin/ldd/ldd.c 16 Aug 2005 17:37:54 -0000
@@ -98,11 +98,14 @@
#endif
/* ld.so magic */
- setenv("LD_TRACE_LOADED_OBJECTS", "1", 1);
+ if (setenv("LD_TRACE_LOADED_OBJECTS", "1", 1) == -1)
+ err(1, "setenv: LD_TRACE_LOADED_OBJECTS");
if (fmt1)
- setenv("LD_TRACE_LOADED_OBJECTS_FMT1", fmt1, 1);
+ if (setenv("LD_TRACE_LOADED_OBJECTS_FMT1", fmt1, 1) == -1)
+ err(1, "setenv: LD_TRACE_LOADED_OBJECTS_FMT1");
if (fmt2)
- setenv("LD_TRACE_LOADED_OBJECTS_FMT2", fmt2, 1);
+ if (setenv("LD_TRACE_LOADED_OBJECTS_FMT2", fmt2, 1) == -1)
+ err(1, "setenv: LD_TRACE_LOADED_OBJECTS_FMT2");
rval = 0;
for ( ; argc > 0; argc--, argv++) {
@@ -180,7 +183,8 @@
continue;
}
- setenv("LD_TRACE_LOADED_OBJECTS_PROGNAME", *argv, 1);
+ if (setenv("LD_TRACE_LOADED_OBJECTS_PROGNAME", *argv, 1) == -1)
+ err(1, "setenv: LD_TRACE_LOADED_OBJECTS_PROGNAME");
if (fmt1 == NULL && fmt2 == NULL)
/* Default formats */
printf("%s:\n", *argv);
Index: usr.bin/limits/limits.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/limits/limits.c,v
retrieving revision 1.4
diff -u -r1.4 limits.c
--- usr.bin/limits/limits.c 12 Jan 2005 01:20:26 -0000 1.4
+++ usr.bin/limits/limits.c 16 Aug 2005 17:37:54 -0000
@@ -434,7 +434,8 @@
/* set leading environment variables, like eval(1) */
while (*argv && (p = strchr(*argv, '=')))
- (void)setenv(*argv++, ++p, 1);
+ if (setenv(*argv++, ++p, 1) == -1)
+ err(1, "setenv: %s", *argv);
/* Set limits */
for (rcswhich = 0; rcswhich < RLIM_NLIMITS; rcswhich++) {
Index: usr.bin/login/login.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/login/login.c,v
retrieving revision 1.5
diff -u -r1.5 login.c
--- usr.bin/login/login.c 13 Jul 2005 12:34:22 -0000 1.5
+++ usr.bin/login/login.c 16 Aug 2005 17:37:54 -0000
@@ -656,16 +656,37 @@
exit(1);
}
- (void)setenv("SHELL", pwd->pw_shell, 1);
- (void)setenv("HOME", pwd->pw_dir, 1);
- if (term != NULL && *term != '\0')
- (void)setenv("TERM", term, 1); /* Preset overrides */
- else {
- (void)setenv("TERM", stypeof(tty), 0); /* Fallback doesn't */
- }
- (void)setenv("LOGNAME", username, 1);
- (void)setenv("USER", username, 1);
- (void)setenv("PATH", rootlogin ? _PATH_STDPATH : _PATH_DEFPATH, 0);
+ if (setenv("SHELL", pwd->pw_shell, 1) == -1) {
+ syslog(LOG_ERR, "setenv: SHELL: %s", strerror(errno));
+ exit(1);
+ }
+ if (setenv("HOME", pwd->pw_dir, 1) == -1) {
+ syslog(LOG_ERR, "setenv: HOME: %s", strerror(errno));
+ exit(1);
+ }
+ if (term != NULL && *term != '\0') {
+ if (setenv("TERM", term, 1) == -1) { /* Preset overrides */
+ syslog(LOG_ERR, "setenv: TERM: %s", strerror(errno));
+ exit(1);
+ }
+ } else {
+ if (setenv("TERM", stypeof(tty), 0) == -1) { /* Fallback doesn't */
+ syslog(LOG_ERR, "setenv: TERM: %s", strerror(errno));
+ exit(1);
+ }
+ }
+ if (setenv("LOGNAME", username, 1) == -1) {
+ syslog(LOG_ERR, "setenv: LOGNAME: %s", strerror(errno));
+ exit(1);
+ }
+ if (setenv("USER", username, 1) == -1) {
+ syslog(LOG_ERR, "setenv: USER: %s", strerror(errno));
+ exit(1);
+ }
+ if (setenv("PATH", rootlogin ? _PATH_STDPATH : _PATH_DEFPATH, 0) == -1) {
+ syslog(LOG_ERR, "setenv: PATH: %s", strerror(errno));
+ exit(1);
+ }
if (!quietlog) {
char *cw;
@@ -857,8 +878,13 @@
char **pp;
for (pp = environ_pam; *pp != NULL; pp++) {
- if (ok_to_export(*pp))
- (void) putenv(*pp);
+ if (ok_to_export(*pp)) {
+ if (putenv(*pp) == -1) {
+ syslog(LOG_ERR, "putenv: %s: %m", *pp);
+ free(*pp);
+ return PAM_SYSTEM_ERR;
+ }
+ }
free(*pp);
}
return PAM_SUCCESS;
Index: usr.bin/make/job.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/make/job.c,v
retrieving revision 1.141
diff -u -r1.141 job.c
--- usr.bin/make/job.c 10 Aug 2005 16:50:36 -0000 1.141
+++ usr.bin/make/job.c 16 Aug 2005 17:37:54 -0000
@@ -408,7 +408,8 @@
} else {
char new_value[32];
sprintf(new_value, "%d", level + 1);
- setenv(MKLVL_ENVVAR, new_value, 1);
+ if (setenv(MKLVL_ENVVAR, new_value, 1) == -1)
+ Punt("setenv: %s: can't allocate memory", MKLVL_ENVVAR);
}
}
@@ -2387,7 +2388,8 @@
fifoMaster = 1;
fcntl(fifoFd, F_SETFL, O_NONBLOCK);
env = fifoName;
- setenv("MAKE_JOBS_FIFO", env, 1);
+ if (setenv("MAKE_JOBS_FIFO", env, 1) == -1)
+ Punt("setenv: MAKE_JOBS_FIFO: can't allocate memory");
while (maxproc-- > 0) {
write(fifoFd, "+", 1);
}
Index: usr.bin/make/main.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/make/main.c,v
retrieving revision 1.140
diff -u -r1.140 main.c
--- usr.bin/make/main.c 3 Aug 2005 18:34:39 -0000 1.140
+++ usr.bin/make/main.c 16 Aug 2005 17:37:54 -0000
@@ -1004,8 +1004,10 @@
const char *p;
p = Var_Value(".MAKEFLAGS", VAR_GLOBAL);
- if (p != NULL && *p != '\0')
- setenv("MAKEFLAGS", p, 1);
+ if (p != NULL && *p != '\0') {
+ if (setenv("MAKEFLAGS", p, 1) == -1)
+ Punt("setenv: MAKEFLAGS: can't allocate memory");
+ }
}
/*
Index: usr.bin/make/var.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/make/var.c,v
retrieving revision 1.217
diff -u -r1.217 var.c
--- usr.bin/make/var.c 5 Aug 2005 22:42:12 -0000 1.217
+++ usr.bin/make/var.c 16 Aug 2005 17:37:54 -0000
@@ -998,7 +998,8 @@
* are automatically exported to the
* environment (as per POSIX standard)
*/
- setenv(n, val, 1);
+ if (setenv(n, val, 1) == -1)
+ Punt( "setenv: %s: can't allocate memory", n);
}
} else {
Buf_Clear(v->val);
@@ -1010,7 +1011,8 @@
* are automatically exported to the
* environment (as per POSIX standard)
*/
- setenv(n, val, 1);
+ if (setenv(n, val, 1) == -1)
+ Punt( "setenv: %s: can't allocate memory", n);
}
}
@@ -1054,12 +1056,14 @@
if (v == NULL) {
Lst_AtFront(&VAR_ENV->context,
VarCreate(name, NULL, VAR_TO_ENV));
- setenv(name, "", 1);
+ if (setenv(name, "", 1) == -1)
+ Punt( "setenv: %s: can't allocate memory", name);
Error("Warning: .EXPORTVAR: set on undefined variable %s", name);
} else {
if ((v->flags & VAR_TO_ENV) == 0) {
v->flags |= VAR_TO_ENV;
- setenv(v->name, Buf_Data(v->val), 1);
+ if (setenv(v->name, Buf_Data(v->val), 1) == -1)
+ Punt( "setenv: %s: can't allocate memory", v->name);
}
}
}
Index: usr.bin/objformat/objformat.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/objformat/objformat.c,v
retrieving revision 1.17
diff -u -r1.17 objformat.c
--- usr.bin/objformat/objformat.c 20 Apr 2005 21:39:00 -0000 1.17
+++ usr.bin/objformat/objformat.c 16 Aug 2005 17:37:55 -0000
@@ -169,7 +169,8 @@
path = strdup(objformat_path);
- setenv("OBJFORMAT", objformat, 1);
+ if (setenv("OBJFORMAT", objformat, 1) == -1)
+ err(1, "setenv: OBJFORMAT");
/*
* objformat_path could be sequence of colon-separated paths.
Index: usr.bin/su/su.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/su/su.c,v
retrieving revision 1.8
diff -u -r1.8 su.c
--- usr.bin/su/su.c 14 Mar 2005 11:55:33 -0000 1.8
+++ usr.bin/su/su.c 16 Aug 2005 17:37:55 -0000
@@ -396,21 +396,30 @@
/* set the su'd user's environment & umask */
setusercontext(lc, pwd, pwd->pw_uid, LOGIN_SETPATH|LOGIN_SETUMASK|LOGIN_SETENV);
#else
- setenv("PATH", _PATH_DEFPATH, 1);
+ if (setenv("PATH", _PATH_DEFPATH, 1) == -1)
+ err(1, "setenv: PATH");
#endif
- if (p)
- setenv("TERM", p, 1);
+ if (p) {
+ if (setenv("TERM", p, 1) == -1)
+ err(1, "setenv: TERM");
+ }
#ifdef KERBEROS5
- if (ccname)
- setenv("KRB5CCNAME", ccname, 1);
+ if (ccname) {
+ if (setenv("KRB5CCNAME", ccname, 1) == -1)
+ err(1, "setenv: KRB5CCNAME");
+ }
#endif
if (chdir(pwd->pw_dir) < 0)
errx(1, "no directory");
}
- if (asthem || pwd->pw_uid)
- setenv("USER", pwd->pw_name, 1);
- setenv("HOME", pwd->pw_dir, 1);
- setenv("SHELL", shell, 1);
+ if (asthem || pwd->pw_uid) {
+ if (setenv("USER", pwd->pw_name, 1) == -1)
+ err(1, "setenv: USER");
+ }
+ if (setenv("HOME", pwd->pw_dir, 1) == -1)
+ err(1, "setenv: HOME");
+ if (setenv("SHELL", shell, 1) == -1)
+ err(1, "setenv: SHELL");
}
if (iscsh == YES) {
if (fastlogin)
Index: usr.bin/tabs/tabs.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/tabs/tabs.c,v
retrieving revision 1.1
diff -u -r1.1 tabs.c
--- usr.bin/tabs/tabs.c 19 Jun 2004 22:03:08 -0000 1.1
+++ usr.bin/tabs/tabs.c 16 Aug 2005 17:37:55 -0000
@@ -108,12 +108,14 @@
errx(1, "%s: invalid increment", arg + 1);
} else if (arg[1] == 'T') {
/* -Ttype or -T type */
- if (arg[2] != '\0')
- setenv("TERM", arg + 2, 1);
- else {
+ if (arg[2] != '\0') {
+ if (setenv("TERM", arg + 2, 1) == -1)
+ err(1, "setenv: TERM");
+ } else {
if ((arg = *++argv) == NULL)
usage();
- setenv("TERM", arg, 1);
+ if (setenv("TERM", arg, 1) == -1)
+ err(1, "setenv: TERM");
}
} else if (arg[1] == '-') {
arg = *++argv;
Index: usr.bin/whereis/whereis.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/whereis/whereis.c,v
retrieving revision 1.2
diff -u -r1.2 whereis.c
--- usr.bin/whereis/whereis.c 23 Jul 2004 06:24:27 -0000 1.2
+++ usr.bin/whereis/whereis.c 16 Aug 2005 17:37:55 -0000
@@ -384,7 +384,8 @@
errx(EX_DATAERR, "no directories to search");
if (opt_m) {
- setenv("MANPATH", colonify(mandirs), 1);
+ if (setenv("MANPATH", colonify(mandirs), 1) == -1)
+ err(1, "setenv: MANPATH");
if ((i = regcomp(&re, MANWHEREISMATCH, REG_EXTENDED)) != 0) {
regerror(i, &re, buf, BUFSIZ - 1);
errx(EX_UNAVAILABLE, "regcomp(%s) failed: %s",
Index: usr.bin/window/wwenviron.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/window/wwenviron.c,v
retrieving revision 1.2
diff -u -r1.2 wwenviron.c
--- usr.bin/window/wwenviron.c 17 Jun 2003 04:29:34 -0000 1.2
+++ usr.bin/window/wwenviron.c 16 Aug 2005 17:37:55 -0000
@@ -92,9 +92,11 @@
*/
(void) sprintf(buf, "%sco#%d:li#%d:%s",
WWT_TERMCAP, wp->ww_w.nc, wp->ww_w.nr, wwwintermcap);
- (void) setenv("TERMCAP", buf, 1);
+ if (setenv("TERMCAP", buf, 1) == -1)
+ goto bad;
(void) sprintf(buf, "%d", wp->ww_id + 1);
- (void) setenv("WINDOW_ID", buf, 1);
+ if (setenv("WINDOW_ID", buf, 1) == -1)
+ goto bad;
return 0;
bad:
wwerrno = WWE_SYS;
Index: usr.bin/window/wwinit.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/window/wwinit.c,v
retrieving revision 1.2
diff -u -r1.2 wwinit.c
--- usr.bin/window/wwinit.c 17 Jun 2003 04:29:34 -0000 1.2
+++ usr.bin/window/wwinit.c 16 Aug 2005 17:37:55 -0000
@@ -303,7 +303,8 @@
* since tt_init() has already made its own copy of it and
* wwterm now points to the copy.
*/
- (void) setenv("TERM", WWT_TERM, 1);
+ if (setenv("TERM", WWT_TERM, 1) == -1)
+ goto bad;
#ifdef TERMINFO
if (wwterminfoinit() < 0)
goto bad;
Index: usr.bin/window/wwterminfo.c
===================================================================
RCS file: /home/dcvs/src/usr.bin/window/wwterminfo.c,v
retrieving revision 1.2
diff -u -r1.2 wwterminfo.c
--- usr.bin/window/wwterminfo.c 17 Jun 2003 04:29:34 -0000 1.2
+++ usr.bin/window/wwterminfo.c 16 Aug 2005 17:37:55 -0000
@@ -68,7 +68,10 @@
wwerrno = WWE_SYS;
return -1;
}
- (void) setenv("TERMINFO", wwterminfopath, 1);
+ if (setenv("TERMINFO", wwterminfopath, 1) == -1) {
+ wwerrno = WWE_SYS;
+ return -1;
+ }
/* make a termcap entry and turn it into terminfo */
(void) sprintf(buf, "%s/cap", wwterminfopath);
if ((fp = fopen(buf, "w")) == NULL) {
Index: usr.sbin/acpi/Makefile.inc
===================================================================
RCS file: /home/dcvs/src/usr.sbin/acpi/Makefile.inc,v
retrieving revision 1.3
diff -u -r1.3 Makefile.inc
--- usr.sbin/acpi/Makefile.inc 16 Aug 2005 10:31:35 -0000 1.3
+++ usr.sbin/acpi/Makefile.inc 16 Aug 2005 17:37:55 -0000
@@ -1,24 +1,16 @@
# $Id: Makefile.inc,v 1.1 2000/07/14 18:16:22 iwasaki Exp $
# $FreeBSD: src/usr.sbin/acpi/Makefile.inc,v 1.8 2003/08/07 16:51:50 njl Exp $
-# $DragonFly: src/usr.sbin/acpi/Makefile.inc,v 1.3 2005/08/16 10:31:35 y0netan1 Exp $
+# $DragonFly: src/usr.sbin/acpi/Makefile.inc,v 1.2 2005/03/11 18:27:49 y0netan1 Exp $
SYSDIR?= ${.CURDIR}/../../../sys
-.include "${SYSDIR}/conf/acpi.mk"
+OSACPI_DIR= ${SYSDIR}/dev/acpica5
+.include "${OSACPI_DIR}/Makefile.inc"
-.PATH: ${.OBJDIR} \
- ${SYSDIR}/${ACPICA_DIR} \
- ${SYSDIR}/${ACPICA_DIR}/compiler \
- ${SYSDIR}/${ACPICA_DIR}/common
+.PATH: ${SYSACPICA_DIR} \
+ ${SYSACPICA_DIR}/compiler \
+ ${SYSACPICA_DIR}/common
-CFLAGS+= -I${.OBJDIR} \
- -I${SYSDIR}/${OSACPI_MI_DIR} \
- -I${SYSDIR}/${ACPICA_DIR}/include \
- -I${SYSDIR}/${ACPICA_DIR}/compiler
-
-SRCS+= ${.OBJDIR}/acpi.h ${.OBJDIR}/platform/acenv.h
-
-CLEANFILES+= ${.OBJDIR}/acpi.h
-CLEANDIRS+= ${.OBJDIR}/platform
+CFLAGS+= -I${SYSACPICA_DIR}/compiler
.if exists(${.CURDIR}/../../Makefile.inc)
.include "${.CURDIR}/../../Makefile.inc"
Index: usr.sbin/cron/cron/cron.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/cron/cron/cron.c,v
retrieving revision 1.6
diff -u -r1.6 cron.c
--- usr.sbin/cron/cron/cron.c 18 Dec 2004 22:48:03 -0000 1.6
+++ usr.sbin/cron/cron/cron.c 16 Aug 2005 17:37:56 -0000
@@ -88,7 +88,10 @@
set_cron_cwd();
#if defined(POSIX)
- setenv("PATH", _PATH_DEFPATH, 1);
+ if (setenv("PATH", _PATH_DEFPATH, 1) == -1) {
+ log_it("CRON",getpid(),"DEATH","setenv: PATH: can't allocate memory");
+ exit(ERROR_EXIT);
+ }
#endif
/* if there are no debug flags turned on, fork as a daemon should.
Index: usr.sbin/inetd/inetd.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/inetd/inetd.c,v
retrieving revision 1.8
diff -u -r1.8 inetd.c
--- usr.sbin/inetd/inetd.c 21 Mar 2005 19:26:14 -0000 1.8
+++ usr.sbin/inetd/inetd.c 16 Aug 2005 17:37:57 -0000
@@ -504,7 +504,10 @@
memset(dummy, 'x', DUMMYSIZE - 1);
dummy[DUMMYSIZE - 1] = '\0';
- setenv("inetd_dummy", dummy, 1);
+ if (setenv("inetd_dummy", dummy, 1) == -1) {
+ syslog(LOG_ERR, "setenv: inetd_dummy: %m");
+ exit(EX_OSERR);
+ }
}
if (pipe(signalpipe) != 0) {
Index: usr.sbin/pkg_install/add/main.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pkg_install/add/main.c,v
retrieving revision 1.11
diff -u -r1.11 main.c
--- usr.sbin/pkg_install/add/main.c 12 Aug 2005 15:57:22 -0000 1.11
+++ usr.sbin/pkg_install/add/main.c 16 Aug 2005 17:37:57 -0000
@@ -238,9 +238,8 @@
errx(1, "chroot to %s failed", Chroot);
}
/* Make sure the sub-execs we invoke get found */
- setenv("PATH",
- "/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin",
- 1);
+ if (setenv("PATH", "/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin", 1) == -1)
+ err(1, "setenv: PATH");
/* Set a reasonable umask */
umask(022);
Index: usr.sbin/pkg_install/add/perform.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pkg_install/add/perform.c,v
retrieving revision 1.5
diff -u -r1.5 perform.c
--- usr.sbin/pkg_install/add/perform.c 18 Dec 2004 22:48:04 -0000 1.5
+++ usr.sbin/pkg_install/add/perform.c 16 Aug 2005 17:37:57 -0000
@@ -139,8 +139,10 @@
errx(1, "unable to make playpen for %lld bytes", (long long)sb.st_size * 4);
where_to = Home;
/* Since we can call ourselves recursively, keep notes on where we came from */
- if (!getenv("_TOP"))
- setenv("_TOP", Home, 1);
+ if (!getenv("_TOP")) {
+ if (setenv("_TOP", Home, 1) == -1)
+ err(1, "setenv: TOP");
+ }
if (unpack(pkg_fullname, extract)) {
warnx(
"unable to extract table of contents file from '%s' - not a package?",
@@ -231,7 +233,11 @@
add_plist_top(&Plist, PLIST_CWD, Prefix);
}
- setenv(PKG_PREFIX_VNAME, (p = find_plist(&Plist, PLIST_CWD)) ? p->name : ".", 1);
+ if (setenv(PKG_PREFIX_VNAME, (p = find_plist(&Plist, PLIST_CWD)) ? p->name : ".", 1) == -1) {
+ warnx("setenv: PKG_PREFIX_VNAME: can't allocate memory");
+ goto fail;
+ }
+
/* Protect against old packages with bogus @name and origin fields */
if (Plist.name == NULL)
Plist.name = "anonymous";
Index: usr.sbin/pkg_install/create/perform.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pkg_install/create/perform.c,v
retrieving revision 1.4
diff -u -r1.4 perform.c
--- usr.sbin/pkg_install/create/perform.c 18 Dec 2004 22:48:04 -0000 1.4
+++ usr.sbin/pkg_install/create/perform.c 16 Aug 2005 17:37:57 -0000
@@ -71,10 +71,12 @@
}
if (Zipper == BZIP2) {
suf = "tbz";
- setenv("BZIP2", "--best", 0);
+ if (setenv("BZIP2", "--best", 0) == -1)
+ err(2, "setenv: BZIP2");
} else if (Zipper == GZIP) {
suf = "tgz";
- setenv("GZIP", "-9", 0);
+ if (setenv("GZIP", "-9", 0) == -1)
+ err(2, "setenv: GZIP");
} else
suf = "tar";
Index: usr.sbin/pkg_install/delete/perform.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pkg_install/delete/perform.c,v
retrieving revision 1.4
diff -u -r1.4 perform.c
--- usr.sbin/pkg_install/delete/perform.c 18 Dec 2004 22:48:04 -0000 1.4
+++ usr.sbin/pkg_install/delete/perform.c 16 Aug 2005 17:37:57 -0000
@@ -218,7 +218,10 @@
return 1;
}
- setenv(PKG_PREFIX_VNAME, p->name, 1);
+ if (setenv(PKG_PREFIX_VNAME, p->name, 1) == -1) {
+ warn("setenv: PKG_PREFIX_VNAME");
+ return 1;
+ }
if (fexists(REQUIRE_FNAME)) {
if (Verbose)
Index: usr.sbin/pkg_install/lib/pkgwrap.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pkg_install/lib/pkgwrap.c,v
retrieving revision 1.2
diff -u -r1.2 pkgwrap.c
--- usr.sbin/pkg_install/lib/pkgwrap.c 30 Jul 2004 04:46:13 -0000 1.2
+++ usr.sbin/pkg_install/lib/pkgwrap.c 16 Aug 2005 17:37:57 -0000
@@ -79,7 +79,8 @@
cp++;
strlcat(buffer, "/", sizeof(buffer));
strlcat(buffer, cp, sizeof(buffer));
- setenv("PKG_NOWRAP", "1", 1);
+ if (setenv("PKG_NOWRAP", "1", 1) == -1)
+ err(1, "setenv: PKG_NOWRAP");
execve(buffer, argv, environ);
nowrap:
Index: usr.sbin/pkg_install/sign/pgp_sign.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pkg_install/sign/pgp_sign.c,v
retrieving revision 1.4
diff -u -r1.4 pgp_sign.c
--- usr.sbin/pkg_install/sign/pgp_sign.c 18 Dec 2004 22:48:04 -0000 1.4
+++ usr.sbin/pkg_install/sign/pgp_sign.c 16 Aug 2005 17:37:57 -0000
@@ -273,7 +273,10 @@
sleep(1);
close(fd[1]);
sprintf(buf, "%d", fd[0]);
- setenv("PGPPASSFD", buf, 1);
+ if (setenv("PGPPASSFD", buf, 1) == -1) {
+ perror("pkg_sign");
+ exit(EXIT_FAILURE);
+ }
printf("Parent process PGPPASSFD=%d.\n", fd[0]);
}
}
Index: usr.sbin/pstat/pstat.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/pstat/pstat.c,v
retrieving revision 1.15
diff -u -r1.15 pstat.c
--- usr.sbin/pstat/pstat.c 17 Mar 2005 17:28:44 -0000 1.15
+++ usr.sbin/pstat/pstat.c 16 Aug 2005 17:37:57 -0000
@@ -226,7 +226,8 @@
fileflag = 1;
break;
case 'k':
- putenv("BLOCKSIZE=1K");
+ if (putenv("BLOCKSIZE=1K") == -1)
+ err(1, "putenv: BLOCKSIZE=1K");
break;
case 'M':
memf = optarg;
Index: usr.sbin/tzsetup/tzsetup.c
===================================================================
RCS file: /home/dcvs/src/usr.sbin/tzsetup/tzsetup.c,v
retrieving revision 1.4
diff -u -r1.4 tzsetup.c
--- usr.sbin/tzsetup/tzsetup.c 19 Feb 2005 01:43:06 -0000 1.4
+++ usr.sbin/tzsetup/tzsetup.c 16 Aug 2005 17:37:58 -0000
@@ -586,7 +586,13 @@
time_t t = time(0);
int rv;
- setenv("TZ", filename, 1);
+ if (setenv("TZ", filename, 1) == -1) {
+ asprintf(&msg, "setenv: TZ: %s",
+ strerror(errno));
+ dialog_mesgbox("Error", msg, 8, 72);
+ free(msg);
+ return 0;
+ }
tzset();
tm = localtime(&t);
More information about the Submit
mailing list