From: Karel Zak Date: Tue, 15 Jun 2021 08:25:06 +0000 (+0200) Subject: lib/strutils: make test_strutils_normalize() more robust X-Git-Tag: v2.38-rc1~458 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f3e5d34cacf332836af4cd12d5caef897aa6112b;p=thirdparty%2Futil-linux.git lib/strutils: make test_strutils_normalize() more robust Signed-off-by: Karel Zak --- 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; }