=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/environ.c,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** src/usr.bin/tmux/environ.c 2009/08/08 21:52:43 1.1 --- src/usr.bin/tmux/environ.c 2009/08/08 21:54:26 1.2 *************** *** 1,4 **** ! /* $OpenBSD: environ.c,v 1.1 2009/08/08 21:52:43 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: environ.c,v 1.2 2009/08/08 21:54:26 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 134,147 **** environ_update(const char *vars, struct environ *srcenv, struct environ *dstenv) { struct environ_entry *envent; ! char *var, *next; ! vars = next = xstrdup(vars); while ((var = strsep(&next, " ")) != NULL) { if ((envent = environ_find(srcenv, var)) == NULL) environ_set(dstenv, var, NULL); else environ_set(dstenv, envent->name, envent->value); } ! xfree(vars); } --- 134,147 ---- environ_update(const char *vars, struct environ *srcenv, struct environ *dstenv) { struct environ_entry *envent; ! char *copyvars, *var, *next; ! copyvars = next = xstrdup(vars); while ((var = strsep(&next, " ")) != NULL) { if ((envent = environ_find(srcenv, var)) == NULL) environ_set(dstenv, var, NULL); else environ_set(dstenv, envent->name, envent->value); } ! xfree(copyvars); }