From f3e5d34cacf332836af4cd12d5caef897aa6112b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 15 Jun 2021 10:25:06 +0200 Subject: [PATCH] lib/strutils: make test_strutils_normalize() more robust Signed-off-by: Karel Zak --- lib/strutils.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/strutils.c b/lib/strutils.c index 68b664748c..ee2c835495 100644 --- a/lib/strutils.c +++ b/lib/strutils.c @@ -1175,26 +1175,32 @@ static int test_strutils_cmp_paths(int argc, char *argv[]) static int test_strutils_normalize(int argc, char *argv[]) { - unsigned char *src, *dst; + unsigned char *src, *dst, *org; size_t sz, len; if (argc < 2) return EXIT_FAILURE; - src = (unsigned char *) strdup(argv[1]); + org = (unsigned char *) strdup(argv[1]); + src = (unsigned char *) strdup((char *) org); len = strlen((char *) src); dst = malloc(len + 1); + if (!org || !src || !dst) + goto done; + /* two buffers */ sz = __normalize_whitespace(src, len, dst, len + 1); printf("1: '%s' --> '%s' [sz=%zu]\n", src, dst, sz); /* one buffer */ sz = normalize_whitespace(src); - printf("2: '%s' --> '%s' [sz=%zu]\n", argv[1], src, sz); + printf("2: '%s' --> '%s' [sz=%zu]\n", org, src, sz); +done: free(src); free(dst); + free(org); return EXIT_SUCCESS; } -- 2.47.3