diff options
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 8b67e7c36a..d8a186040b 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -2633,16 +2633,18 @@ ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
2633 | if (s->tlsext_opaque_prf_input != NULL) | 2633 | if (s->tlsext_opaque_prf_input != NULL) |
2634 | free(s->tlsext_opaque_prf_input); | 2634 | free(s->tlsext_opaque_prf_input); |
2635 | if ((size_t)larg == 0) { | 2635 | if ((size_t)larg == 0) { |
2636 | /* dummy byte just to get non-NULL */ | 2636 | s->tlsext_opaque_prf_input = NULL; |
2637 | s->tlsext_opaque_prf_input = malloc(1); | 2637 | s->tlsext_opaque_prf_input_len = 0; |
2638 | } else | 2638 | ret = 1; |
2639 | } else { | ||
2639 | s->tlsext_opaque_prf_input = | 2640 | s->tlsext_opaque_prf_input = |
2640 | BUF_memdup(parg, (size_t)larg); | 2641 | BUF_memdup(parg, (size_t)larg); |
2641 | if (s->tlsext_opaque_prf_input != NULL) { | 2642 | if (s->tlsext_opaque_prf_input != NULL) { |
2642 | s->tlsext_opaque_prf_input_len = (size_t)larg; | 2643 | s->tlsext_opaque_prf_input_len = (size_t)larg; |
2643 | ret = 1; | 2644 | ret = 1; |
2644 | } else | 2645 | } else |
2645 | s->tlsext_opaque_prf_input_len = 0; | 2646 | s->tlsext_opaque_prf_input_len = 0; |
2647 | } | ||
2646 | break; | 2648 | break; |
2647 | #endif | 2649 | #endif |
2648 | 2650 | ||