check the 0 length string too

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14991 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2005-04-27 18:26:21 +00:00
parent 6fa21042ca
commit ea05edd7e6

View File

@@ -54,31 +54,32 @@ int
main(int argc, char **argv)
{
size_t sz;
size_t buf_sz;
int i, j;
for (i = 0; i < sizeof(tests)/sizeof(tests[0]); ++i) {
char *buf;
for (j = 1; j < tests[i].size + 2; j++) {
for (buf_sz = 0; buf_sz < tests[i].size + 2; buf_sz++) {
buf = rk_test_mem_alloc(RK_TM_OVERRUN, "overrun",
NULL, j);
sz = unparse_time(tests[i].val, buf, j);
NULL, buf_sz);
sz = unparse_time(tests[i].val, buf, buf_sz);
if (sz != tests[i].size)
errx(1, "sz (%lu) != tests[%d].size (%lu)",
(unsigned long)sz, i,
(unsigned long)buf_sz, i,
(unsigned long)tests[i].size);
if (strncmp(buf, tests[i].str, j - 1) != 0)
if (buf_sz > 0 && memcmp(buf, tests[i].str, buf_sz - 1) != 0)
errx(1, "test %i wrong result %s vs %s", i, buf, tests[i].str);
rk_test_mem_free("overrun");
buf = rk_test_mem_alloc(RK_TM_UNDERRUN, "underrun",
NULL, tests[i].size);
sz = unparse_time(tests[i].val, buf, j);
sz = unparse_time(tests[i].val, buf, buf_sz);
if (sz != tests[i].size)
errx(1, "sz (%lu) != tests[%d].size (%lu)",
(unsigned long)sz, i, (unsigned long)tests[i].size);
if (strncmp(buf, tests[i].str, j - 1) != 0)
if (buf_sz > 0 && strncmp(buf, tests[i].str, buf_sz - 1) != 0)
errx(1, "test %i wrong result %s vs %s", i, buf, tests[i].str);
rk_test_mem_free("underrun");
}