From: Yu Watanabe Date: Mon, 27 Jan 2020 09:09:25 +0000 (+0900) Subject: test: add tests for UNESCAPE_ACCEPT_NUL X-Git-Tag: v245-rc1~73^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6a36dea2d40553fcb6dbbde510c10ac97cb8062;p=thirdparty%2Fsystemd.git test: add tests for UNESCAPE_ACCEPT_NUL --- diff --git a/src/test/test-escape.c b/src/test/test-escape.c index add17f9547d..f6aae1eb182 100644 --- a/src/test/test-escape.c +++ b/src/test/test-escape.c @@ -96,6 +96,22 @@ static void test_cunescape(void) { assert_se(cunescape("A=A\\\\x0aB", UNESCAPE_RELAX, &unescaped) >= 0); assert_se(streq_ptr(unescaped, "A=A\\x0aB")); + unescaped = mfree(unescaped); + + assert_se(cunescape("\\x00\\x00\\x00", UNESCAPE_ACCEPT_NUL, &unescaped) == 3); + assert_se(memcmp(unescaped, "\0\0\0", 3) == 0); + unescaped = mfree(unescaped); + + assert_se(cunescape("\\u0000\\u0000\\u0000", UNESCAPE_ACCEPT_NUL, &unescaped) == 3); + assert_se(memcmp(unescaped, "\0\0\0", 3) == 0); + unescaped = mfree(unescaped); + + assert_se(cunescape("\\U00000000\\U00000000\\U00000000", UNESCAPE_ACCEPT_NUL, &unescaped) == 3); + assert_se(memcmp(unescaped, "\0\0\0", 3) == 0); + unescaped = mfree(unescaped); + + assert_se(cunescape("\\000\\000\\000", UNESCAPE_ACCEPT_NUL, &unescaped) == 3); + assert_se(memcmp(unescaped, "\0\0\0", 3) == 0); } static void test_shell_escape_one(const char *s, const char *bad, const char *expected) {