diff options
-rw-r--r-- | src/lib/libtls/tls_config.c | 9 |
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 | ||