From 3e0e31544e3706ba8222986407c0f1787e7d21d8 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Wed, 25 Oct 2023 15:42:24 -0700 Subject: [PATCH] unit: correct memcpy overrun in test-dpp The memcpy in HEX2BUF was copying the length of the buffer that was passed in, not the actual length of the converted hexstring. This test was segfaulting in the Alpine CI which uses clang/musl. --- unit/test-dpp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/unit/test-dpp.c b/unit/test-dpp.c index c782efba..c3f3731f 100644 --- a/unit/test-dpp.c +++ b/unit/test-dpp.c @@ -183,8 +183,9 @@ const char *r_asn1 = "3039301306072a8648ce3d020106082a8648ce3d0301070322000209c5 "4df9fd25a045201885c39cc5cfae397ddaeda957dec57fa0e3503f"; #define HEX2BUF(s, buf, _len) { \ - unsigned char *_tmp = l_util_from_hexstring(s, NULL); \ - memcpy(buf, _tmp, _len); \ + size_t _len_out; \ + unsigned char *_tmp = l_util_from_hexstring(s, &_len_out); \ + memcpy(buf, _tmp, _len_out); \ l_free(_tmp); \ }