From 27576416206f696edb16cf2e22271953903e731f Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Mon, 15 May 2023 11:04:37 +0100 Subject: tests: only copy when `ptr` is non-NULL Avoid passing a `NULL` ptr to `memcpy` -- that's UB (even if size is 0) --- tests/clar/clar_libgit2_alloc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/clar/clar_libgit2_alloc.c b/tests/clar/clar_libgit2_alloc.c index 7abc998ce..e93037923 100644 --- a/tests/clar/clar_libgit2_alloc.c +++ b/tests/clar/clar_libgit2_alloc.c @@ -73,13 +73,17 @@ static void *cl__realloc(void *ptr, size_t size, const char *file, int line) if (p) memcpy(©bytes, p - sizeof(size_t), sizeof(size_t)); + if (copybytes > size) copybytes = size; if ((new = cl__malloc(size, file, line)) == NULL) goto out; - memcpy(new, p, copybytes); - cl__free(p); + + if (p) { + memcpy(new, p, copybytes); + cl__free(p); + } out: return new; -- cgit v1.2.1