From 61d032fc03e0055c859931f466bc75fbdf36385a Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 5 Oct 2012 10:51:43 +0200 Subject: misc: Don't leak memory on ssh_path_expand_escape() on error. --- src/misc.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/misc.c') diff --git a/src/misc.c b/src/misc.c index 32884e62..adb0a455 100644 --- a/src/misc.c +++ b/src/misc.c @@ -758,11 +758,13 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) { default: ssh_set_error(session, SSH_FATAL, "Wrong escape sequence detected"); + free(r); return NULL; } if (x == NULL) { ssh_set_error_oom(session); + free(r); return NULL; } @@ -770,6 +772,8 @@ char *ssh_path_expand_escape(ssh_session session, const char *s) { if (i > MAX_BUF_SIZE) { ssh_set_error(session, SSH_FATAL, "String too long"); + free(x); + free(r); return NULL; } l = strlen(buf); -- cgit v1.2.3