summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libssl/bs_cbs.c7
-rw-r--r--src/lib/libssl/s3_clnt.c6
-rw-r--r--src/lib/libssl/src/ssl/bs_cbs.c7
-rw-r--r--src/lib/libssl/src/ssl/s3_clnt.c6
4 files changed, 14 insertions, 12 deletions
diff --git a/src/lib/libssl/bs_cbs.c b/src/lib/libssl/bs_cbs.c
index d45353a890..ea1f0108f6 100644
--- a/src/lib/libssl/bs_cbs.c
+++ b/src/lib/libssl/bs_cbs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bs_cbs.c,v 1.16 2015/06/23 05:58:28 doug Exp $ */ 1/* $OpenBSD: bs_cbs.c,v 1.17 2015/06/24 09:44:18 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -86,10 +86,11 @@ CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
86 if (cbs->len == 0) 86 if (cbs->len == 0)
87 return 1; 87 return 1;
88 88
89 *out_ptr = BUF_memdup(cbs->data, cbs->len); 89 if ((*out_ptr = malloc(cbs->len)) == NULL)
90 if (*out_ptr == NULL)
91 return 0; 90 return 0;
92 91
92 memcpy(*out_ptr, cbs->data, cbs->len);
93
93 *out_len = cbs->len; 94 *out_len = cbs->len;
94 return 1; 95 return 1;
95} 96}
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c
index 0ef17d0067..cf8b2ec41d 100644
--- a/src/lib/libssl/s3_clnt.c
+++ b/src/lib/libssl/s3_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s3_clnt.c,v 1.113 2015/06/20 18:19:56 doug Exp $ */ 1/* $OpenBSD: s3_clnt.c,v 1.114 2015/06/24 09:44:18 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1815,13 +1815,13 @@ ssl3_get_cert_status(SSL *s)
1815 goto f_err; 1815 goto f_err;
1816 } 1816 }
1817 free(s->tlsext_ocsp_resp); 1817 free(s->tlsext_ocsp_resp);
1818 s->tlsext_ocsp_resp = BUF_memdup(p, resplen); 1818 if ((s->tlsext_ocsp_resp = malloc(resplen)) == NULL) {
1819 if (!s->tlsext_ocsp_resp) {
1820 al = SSL_AD_INTERNAL_ERROR; 1819 al = SSL_AD_INTERNAL_ERROR;
1821 SSLerr(SSL_F_SSL3_GET_CERT_STATUS, 1820 SSLerr(SSL_F_SSL3_GET_CERT_STATUS,
1822 ERR_R_MALLOC_FAILURE); 1821 ERR_R_MALLOC_FAILURE);
1823 goto f_err; 1822 goto f_err;
1824 } 1823 }
1824 memcpy(s->tlsext_ocsp_resp, p, resplen);
1825 s->tlsext_ocsp_resplen = resplen; 1825 s->tlsext_ocsp_resplen = resplen;
1826 if (s->ctx->tlsext_status_cb) { 1826 if (s->ctx->tlsext_status_cb) {
1827 int ret; 1827 int ret;
diff --git a/src/lib/libssl/src/ssl/bs_cbs.c b/src/lib/libssl/src/ssl/bs_cbs.c
index d45353a890..ea1f0108f6 100644
--- a/src/lib/libssl/src/ssl/bs_cbs.c
+++ b/src/lib/libssl/src/ssl/bs_cbs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bs_cbs.c,v 1.16 2015/06/23 05:58:28 doug Exp $ */ 1/* $OpenBSD: bs_cbs.c,v 1.17 2015/06/24 09:44:18 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -86,10 +86,11 @@ CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
86 if (cbs->len == 0) 86 if (cbs->len == 0)
87 return 1; 87 return 1;
88 88
89 *out_ptr = BUF_memdup(cbs->data, cbs->len); 89 if ((*out_ptr = malloc(cbs->len)) == NULL)
90 if (*out_ptr == NULL)
91 return 0; 90 return 0;
92 91
92 memcpy(*out_ptr, cbs->data, cbs->len);
93
93 *out_len = cbs->len; 94 *out_len = cbs->len;
94 return 1; 95 return 1;
95} 96}
diff --git a/src/lib/libssl/src/ssl/s3_clnt.c b/src/lib/libssl/src/ssl/s3_clnt.c
index 0ef17d0067..cf8b2ec41d 100644
--- a/src/lib/libssl/src/ssl/s3_clnt.c
+++ b/src/lib/libssl/src/ssl/s3_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s3_clnt.c,v 1.113 2015/06/20 18:19:56 doug Exp $ */ 1/* $OpenBSD: s3_clnt.c,v 1.114 2015/06/24 09:44:18 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1815,13 +1815,13 @@ ssl3_get_cert_status(SSL *s)
1815 goto f_err; 1815 goto f_err;
1816 } 1816 }
1817 free(s->tlsext_ocsp_resp); 1817 free(s->tlsext_ocsp_resp);
1818 s->tlsext_ocsp_resp = BUF_memdup(p, resplen); 1818 if ((s->tlsext_ocsp_resp = malloc(resplen)) == NULL) {
1819 if (!s->tlsext_ocsp_resp) {
1820 al = SSL_AD_INTERNAL_ERROR; 1819 al = SSL_AD_INTERNAL_ERROR;
1821 SSLerr(SSL_F_SSL3_GET_CERT_STATUS, 1820 SSLerr(SSL_F_SSL3_GET_CERT_STATUS,
1822 ERR_R_MALLOC_FAILURE); 1821 ERR_R_MALLOC_FAILURE);
1823 goto f_err; 1822 goto f_err;
1824 } 1823 }
1824 memcpy(s->tlsext_ocsp_resp, p, resplen);
1825 s->tlsext_ocsp_resplen = resplen; 1825 s->tlsext_ocsp_resplen = resplen;
1826 if (s->ctx->tlsext_status_cb) { 1826 if (s->ctx->tlsext_status_cb) {
1827 int ret; 1827 int ret;