diff options
author | Harald Hoyer <harald@redhat.com> | 2015-06-03 15:55:28 +0200 |
---|---|---|
committer | Harald Hoyer <harald@redhat.com> | 2015-06-03 15:55:28 +0200 |
commit | ea344aec104771c11b2008e54943d7c108ecb0d0 (patch) | |
tree | 038b6e6f53bc372f5c12c21cd7631fb74e383ef1 | |
parent | 1a435084b7f55bc24042f9bc47c18e4e2381f667 (diff) | |
parent | 3b51f8ddd5408eaae06e774e40144c7788748000 (diff) |
Merge pull request #51 from zonque/unquote
util: fix another cunescape() regression
compiled and test-util exited with 0
-rw-r--r-- | src/shared/util.c | 2 | ||||
-rw-r--r-- | src/test/test-util.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/shared/util.c b/src/shared/util.c index 8a6107969a..311acbb349 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -1152,7 +1152,7 @@ static int cunescape_one(const char *p, size_t length, char *ret, uint32_t *ret_ int a, b, c; uint32_t m; - if (length != (size_t) -1 && length < 4) + if (length != (size_t) -1 && length < 3) return -EINVAL; a = unoctchar(p[0]); diff --git a/src/test/test-util.c b/src/test/test-util.c index e0269821d7..7a398fafbe 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -460,6 +460,9 @@ static void test_cunescape(void) { assert_se(cunescape("\\u0000", 0, &unescaped) < 0); assert_se(cunescape("\\u00DF\\U000000df\\u03a0\\U00000041", UNESCAPE_RELAX, &unescaped) >= 0); assert_se(streq_ptr(unescaped, "ßßΠA")); + + assert_se(cunescape("\\073", 0, &unescaped) >= 0); + assert_se(streq_ptr(unescaped, ";")); } static void test_foreach_word(void) { |