spelt malloc+memcpy, which is what is used in all except two places.
ok deraadt@ doug@
-/* $OpenBSD: bs_cbs.c,v 1.16 2015/06/23 05:58:28 doug Exp $ */
+/* $OpenBSD: bs_cbs.c,v 1.17 2015/06/24 09:44:18 jsing Exp $ */
/*
* Copyright (c) 2014, Google Inc.
*
if (cbs->len == 0)
return 1;
- *out_ptr = BUF_memdup(cbs->data, cbs->len);
- if (*out_ptr == NULL)
+ if ((*out_ptr = malloc(cbs->len)) == NULL)
return 0;
+ memcpy(*out_ptr, cbs->data, cbs->len);
+
*out_len = cbs->len;
return 1;
}
-/* $OpenBSD: s3_clnt.c,v 1.113 2015/06/20 18:19:56 doug Exp $ */
+/* $OpenBSD: s3_clnt.c,v 1.114 2015/06/24 09:44:18 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
goto f_err;
}
free(s->tlsext_ocsp_resp);
- s->tlsext_ocsp_resp = BUF_memdup(p, resplen);
- if (!s->tlsext_ocsp_resp) {
+ if ((s->tlsext_ocsp_resp = malloc(resplen)) == NULL) {
al = SSL_AD_INTERNAL_ERROR;
SSLerr(SSL_F_SSL3_GET_CERT_STATUS,
ERR_R_MALLOC_FAILURE);
goto f_err;
}
+ memcpy(s->tlsext_ocsp_resp, p, resplen);
s->tlsext_ocsp_resplen = resplen;
if (s->ctx->tlsext_status_cb) {
int ret;
-/* $OpenBSD: bs_cbs.c,v 1.16 2015/06/23 05:58:28 doug Exp $ */
+/* $OpenBSD: bs_cbs.c,v 1.17 2015/06/24 09:44:18 jsing Exp $ */
/*
* Copyright (c) 2014, Google Inc.
*
if (cbs->len == 0)
return 1;
- *out_ptr = BUF_memdup(cbs->data, cbs->len);
- if (*out_ptr == NULL)
+ if ((*out_ptr = malloc(cbs->len)) == NULL)
return 0;
+ memcpy(*out_ptr, cbs->data, cbs->len);
+
*out_len = cbs->len;
return 1;
}
-/* $OpenBSD: s3_clnt.c,v 1.113 2015/06/20 18:19:56 doug Exp $ */
+/* $OpenBSD: s3_clnt.c,v 1.114 2015/06/24 09:44:18 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
goto f_err;
}
free(s->tlsext_ocsp_resp);
- s->tlsext_ocsp_resp = BUF_memdup(p, resplen);
- if (!s->tlsext_ocsp_resp) {
+ if ((s->tlsext_ocsp_resp = malloc(resplen)) == NULL) {
al = SSL_AD_INTERNAL_ERROR;
SSLerr(SSL_F_SSL3_GET_CERT_STATUS,
ERR_R_MALLOC_FAILURE);
goto f_err;
}
+ memcpy(s->tlsext_ocsp_resp, p, resplen);
s->tlsext_ocsp_resplen = resplen;
if (s->ctx->tlsext_status_cb) {
int ret;