From 51d63aa66fabb738a9b83cd5d8edb352d6189c01 Mon Sep 17 00:00:00 2001
From: Christoph Haag <christoph.haag@collabora.com>
Date: Tue, 16 Apr 2019 02:38:46 +0200
Subject: [PATCH] tests: null terminate too long string and add test for
 unterminated string

---
 tests/tests_unit.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tests/tests_unit.c b/tests/tests_unit.c
index f94bfa739..6dfd5caa3 100644
--- a/tests/tests_unit.c
+++ b/tests/tests_unit.c
@@ -162,9 +162,16 @@ START_TEST(semantic_path_unit_test) {
   char too_long[XR_MAX_PATH_LENGTH + 1];
   memset(too_long, 'a', XR_MAX_PATH_LENGTH + 1);
   too_long[0] = '/';
+  too_long[XR_MAX_PATH_LENGTH] = '\0';
   ck_assert_int_eq(oxr_xrStringToPath(oxr.instance, too_long, &path),
                    XR_ERROR_PATH_FORMAT_INVALID);
 
+  char unterminated[XR_MAX_PATH_LENGTH];
+  memset(unterminated, 'a', XR_MAX_PATH_LENGTH);
+  unterminated[0] = '/';
+  ck_assert_int_eq(oxr_xrStringToPath(oxr.instance, unterminated, &path),
+                   XR_ERROR_PATH_FORMAT_INVALID);
+
   ck_assert_int_eq(
       oxr_xrStringToPath(oxr.instance, "/ascii/0123/-/_/foobar", &path),
       XR_SUCCESS);
-- 
GitLab