1.1 --- a/test/string_tests.c Sun Jan 21 10:14:47 2018 +0100 1.2 +++ b/test/string_tests.c Sun Jan 21 10:57:32 2018 +0100 1.3 @@ -193,6 +193,21 @@ 1.4 UCX_TEST_ASSERT(t4.length == 0, "t4 has wrong length"); 1.5 free(t4.ptr); 1.6 1.7 + // overflow test 1.8 + sstr_t o0; 1.9 + o0.ptr = ""; 1.10 + o0.length = ((size_t)-1) - 50; 1.11 + sstr_t o1; 1.12 + o1.ptr = ""; 1.13 + o1.length = 100; 1.14 + sstr_t o2; 1.15 + o2.ptr = ""; 1.16 + o2.length = 10; 1.17 + 1.18 + sstr_t n = sstrcat(2, o0, o1); 1.19 + UCX_TEST_ASSERT(n.ptr == NULL && n.length == 0, "overflow not detected"); 1.20 + sstr_t n2 = sstrcat(3, o0, o2, o1); 1.21 + UCX_TEST_ASSERT(n2.ptr == NULL && n2.length == 0, "n2: overflow not detected"); 1.22 1.23 UCX_TEST_END 1.24