From 72d1faaa1dcafc7fcd01a3090ca62f38875b0a50 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Wed, 16 Sep 2020 05:52:04 +0000 Subject: Avoid memset() before memcpy() for CBB_add_bytes(). CBB_add_bytes() calls CBB_add_space(), which now explicitly zeros memory to avoid information leaks. However CBB_add_bytes() calls memcpy() for the same memory region, so the memset() is unnecessary. Avoid this by inlining part of CBB_add_space() rather than calling it directly. ok beck@ tb@ --- src/lib/libssl/bs_cbb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/libssl/bs_cbb.c b/src/lib/libssl/bs_cbb.c index d11da853cd..e734dd68fc 100644 --- a/src/lib/libssl/bs_cbb.c +++ b/src/lib/libssl/bs_cbb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bs_cbb.c,v 1.22 2020/03/13 15:54:34 jsing Exp $ */ +/* $OpenBSD: bs_cbb.c,v 1.23 2020/09/16 05:52:04 jsing Exp $ */ /* * Copyright (c) 2014, Google Inc. * @@ -361,7 +361,7 @@ CBB_add_bytes(CBB *cbb, const uint8_t *data, size_t len) { uint8_t *dest; - if (!CBB_add_space(cbb, &dest, len)) + if (!CBB_flush(cbb) || !cbb_buffer_add(cbb->base, &dest, len)) return 0; memcpy(dest, data, len); -- cgit v1.2.3-55-g6feb