summaryrefslogtreecommitdiff
path: root/compat.c
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2016-05-23 00:17:27 +0000
committerDarren Tucker <dtucker@zip.com.au>2016-06-06 11:25:37 +1000
commita0cb7778fbc9b43458f7072eb68dd858766384d1 (patch)
tree46d17385e92a77c5c309053991d89598014cb817 /compat.c
parentae9c0d4d5c581b3040d1f16b5c5f4b1cd1616743 (diff)
downloadopenssh-git-a0cb7778fbc9b43458f7072eb68dd858766384d1.tar.gz
upstream commit
Plug mem leak in filter_proposal. ok djm@ Upstream-ID: bf968da7cfcea2a41902832e7d548356a4e2af34
Diffstat (limited to 'compat.c')
-rw-r--r--compat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/compat.c b/compat.c
index 55838044..53d1d9b0 100644
--- a/compat.c
+++ b/compat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.c,v 1.97 2015/08/19 23:21:42 djm Exp $ */
+/* $OpenBSD: compat.c,v 1.98 2016/05/23 00:17:27 dtucker Exp $ */
/*
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
*
@@ -252,7 +252,7 @@ proto_spec(const char *spec)
/*
* Filters a proposal string, excluding any algorithm matching the 'filter'
- * pattern list.
+ * pattern list. Returns a new string and frees the original proposal.
*/
static char *
filter_proposal(char *proposal, const char *filter)
@@ -275,6 +275,7 @@ filter_proposal(char *proposal, const char *filter)
fix_prop = xstrdup((char *)buffer_ptr(&b));
buffer_free(&b);
free(orig_prop);
+ free(proposal);
return fix_prop;
}