From 204e1b83534652ba8dc4b8e31b72bf5a30e01213 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Wed, 7 Feb 2018 18:09:15 +0100 Subject: [PATCH] memory: squeal when there is something wrong, instead of stumbling on When copying a string, source and destination may not be equal -- complain loudly when they are, instead of failing to free memory. Also, instead of freeing the destination string and then allocating it afresh, just reallocate it -- that should be slightly quicker. --- src/utils.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils.c b/src/utils.c index 7ae436e0..dcf4014c 100644 --- a/src/utils.c +++ b/src/utils.c @@ -378,10 +378,10 @@ char *mallocstrncpy(char *dest, const char *src, size_t n) if (src == NULL) src = ""; - if (src != dest) - free(dest); + if (src == dest) + fprintf(stderr, "\r*** Copying a string to itself -- please report a bug ***"); - dest = charalloc(n); + dest = charealloc(dest, n); strncpy(dest, src, n); return dest;