mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +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:
		@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user