diff options
Diffstat (limited to 'src')
| -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 | ||
