Code

unixsock_test: Fix a potential uninitialized memory access in mock_write.
[sysdb.git] / t / unit / utils / unixsock_test.c
index c28781ea051f815cd739fe3b4df23501904dbd00..6ddb6d453abf739fec49a51e13953d213b2d1e1e 100644 (file)
 #endif /* HAVE_CONFIG_H */
 
 /* required for fopencookie support */
-#define _GNU_SOURCE
+#ifndef _GNU_SOURCE
+#      define _GNU_SOURCE
+#endif
 
 #include "utils/unixsock.h"
-#include "libsysdb_test.h"
+#include "testutils.h"
 
 #include <check.h>
 
@@ -102,7 +104,7 @@ mock_write(void *cookie, const char *buf, size_t size)
 
        if (last_write)
                free(last_write);
-       last_write = strdup(buf);
+       last_write = strndup(buf, size);
        ++c->pos;
        return (ssize_t)size;
 } /* mock_write */
@@ -360,22 +362,17 @@ START_TEST(test_sdb_unixsock_client_recv)
 }
 END_TEST
 
-Suite *
-util_unixsock_suite(void)
+TEST_MAIN("utils::unixsock")
 {
-       Suite *s = suite_create("utils::unixsock");
-       TCase *tc;
-
-       tc = tcase_create("core");
+       TCase *tc = tcase_create("core");
        tcase_add_checked_fixture(tc, setup, teardown);
        tcase_add_test(tc, test_sdb_unixsock_client_create);
        tcase_add_test(tc, test_sdb_unixsock_client_connect);
        tcase_add_test(tc, test_sdb_unixsock_client_send);
        tcase_add_test(tc, test_sdb_unixsock_client_recv);
-       suite_add_tcase(s, tc);
-
-       return s;
-} /* util_unixsock_suite */
+       ADD_TCASE(tc);
+}
+TEST_MAIN_END
 
 /* vim: set tw=78 sw=4 ts=4 noexpandtab : */