mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 01:48:47 +00:00
strdup the input to putenv to avoid in one case passing a string that is later
freed and in the other const strings.
This commit is contained in:
parent
0e95769b43
commit
fbcee9f114
@ -1,4 +1,4 @@
|
||||
/* $Id: cmd-string.c,v 1.15 2009-05-15 12:58:56 nicm Exp $ */
|
||||
/* $OpenBSD: cmd-string.c,v 1.2 2009/06/05 07:18:37 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -63,7 +63,7 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause)
|
||||
if ((t = strchr(s, ' ')) == NULL && (t = strchr(s, '\t')) == NULL)
|
||||
t = strchr(s, '\0');
|
||||
if ((u = strchr(s, '=')) != NULL && u < t) {
|
||||
if (putenv((char *) s) != 0) {
|
||||
if (putenv(xstrdup(s)) != 0) {
|
||||
xasprintf(cause, "assignment failed: %s", s);
|
||||
return (-1);
|
||||
}
|
||||
|
4
window.c
4
window.c
@ -1,4 +1,4 @@
|
||||
/* $Id: window.c,v 1.78 2009-05-19 13:32:55 tcunha Exp $ */
|
||||
/* $OpenBSD: window.c,v 1.2 2009/06/05 07:18:37 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -487,7 +487,7 @@ window_pane_spawn(struct window_pane *wp,
|
||||
if (chdir(wp->cwd) != 0)
|
||||
chdir("/");
|
||||
for (envq = envp; *envq != NULL; envq++) {
|
||||
if (putenv((char *) *envq) != 0)
|
||||
if (putenv(xstrdup(*envq)) != 0)
|
||||
fatal("putenv failed");
|
||||
}
|
||||
sigreset();
|
||||
|
Loading…
Reference in New Issue
Block a user