summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libtls/tls_config.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/libtls/tls_config.c b/src/lib/libtls/tls_config.c
index cd2a04cdd6..0d52704aa8 100644
--- a/src/lib/libtls/tls_config.c
+++ b/src/lib/libtls/tls_config.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_config.c,v 1.26 2016/08/13 13:05:51 jsing Exp $ */ 1/* $OpenBSD: tls_config.c,v 1.27 2016/08/13 13:15:53 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -311,6 +311,10 @@ tls_config_parse_alpn(struct tls_config *config, const char *alpn,
311 char *s = NULL; 311 char *s = NULL;
312 char *p, *q; 312 char *p, *q;
313 313
314 free(*alpn_data);
315 *alpn_data = NULL;
316 *alpn_len = 0;
317
314 if ((buf_len = strlen(alpn) + 1) > 65535) { 318 if ((buf_len = strlen(alpn) + 1) > 65535) {
315 tls_config_set_errorx(config, "alpn too large"); 319 tls_config_set_errorx(config, "alpn too large");
316 goto err; 320 goto err;
@@ -355,9 +359,6 @@ tls_config_parse_alpn(struct tls_config *config, const char *alpn,
355 free(buf); 359 free(buf);
356 free(s); 360 free(s);
357 361
358 *alpn_data = NULL;
359 *alpn_len = 0;
360
361 return (-1); 362 return (-1);
362} 363}
363 364