test/string_tests.c

changeset 272
2def28b65328
parent 259
2f5dea574a75
child 283
c3b6ff227481
     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      

mercurial