From ea05edd7e6b0f968030fab83831ca14a6e19bae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 27 Apr 2005 18:26:21 +0000 Subject: [PATCH] check the 0 length string too git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14991 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/roken/parse_time-test.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/roken/parse_time-test.c b/lib/roken/parse_time-test.c index e2fcf3ac1..5f6170766 100644 --- a/lib/roken/parse_time-test.c +++ b/lib/roken/parse_time-test.c @@ -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"); }