diff options
author | Damien Miller <djm@mindrot.org> | 2011-11-25 13:53:48 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2011-11-25 13:53:48 +1100 |
commit | 47d8115e5347385d55b4a17b026bd131793b9e95 (patch) | |
tree | 8539a557d55fbd63a09406711cad8cf365d35d0e /sftp.c | |
parent | 4a725ef6a54d527fa5f2b3ab56dfff67e372ccdd (diff) |
- oga@cvs.openbsd.org 2011/11/16 12:24:28
[sftp.c]
Don't leak list in complete_cmd_parse if there are no commands found.
Discovered when I was ``borrowing'' this code for something else.
ok djm@
Diffstat (limited to 'sftp.c')
-rw-r--r-- | sftp.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp.c,v 1.133 2011/09/22 06:29:03 djm Exp $ */ | 1 | /* $OpenBSD: sftp.c,v 1.134 2011/11/16 12:24:28 oga Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -1631,8 +1631,10 @@ complete_cmd_parse(EditLine *el, char *cmd, int lastarg, char quote, | |||
1631 | } | 1631 | } |
1632 | list[count] = NULL; | 1632 | list[count] = NULL; |
1633 | 1633 | ||
1634 | if (count == 0) | 1634 | if (count == 0) { |
1635 | xfree(list); | ||
1635 | return 0; | 1636 | return 0; |
1637 | } | ||
1636 | 1638 | ||
1637 | /* Complete ambigious command */ | 1639 | /* Complete ambigious command */ |
1638 | tmp = complete_ambiguous(cmd, list, count); | 1640 | tmp = complete_ambiguous(cmd, list, count); |