diff options
author | Tiago Cunha <tcunha@gmx.com> | 2010-01-25 17:12:44 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2010-01-25 17:12:44 +0000 |
commit | c744964cd96554415a8a707c47eef3e0db0a60af (patch) | |
tree | 4fb116b3e06c5f65512bb0cdfa1d174b0d150e14 /cmd-switch-client.c | |
parent | 05e5bc78820633c152c15a305f12d849f0ed0b83 (diff) |
Sync OpenBSD patchset 614:
Don't leak if arguments appear multiple times, from Tiago Cunha.
Diffstat (limited to 'cmd-switch-client.c')
-rw-r--r-- | cmd-switch-client.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cmd-switch-client.c b/cmd-switch-client.c index 4edaccf6..09addc30 100644 --- a/cmd-switch-client.c +++ b/cmd-switch-client.c @@ -1,4 +1,4 @@ -/* $Id: cmd-switch-client.c,v 1.18 2009-11-14 17:56:39 tcunha Exp $ */ +/* $Id: cmd-switch-client.c,v 1.19 2010-01-25 17:12:44 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -61,10 +61,12 @@ cmd_switch_client_parse(struct cmd *self, int argc, char **argv, char **cause) while ((opt = getopt(argc, argv, "c:t:")) != -1) { switch (opt) { case 'c': - data->name = xstrdup(optarg); + if (data->name == NULL) + data->name = xstrdup(optarg); break; case 't': - data->target = xstrdup(optarg); + if (data->target == NULL) + data->target = xstrdup(optarg); break; default: goto usage; |