diff --git a/tests/test_bind_fuzzer.cpp b/tests/test_bind_fuzzer.cpp index 3a29a30c..547880bb 100644 --- a/tests/test_bind_fuzzer.cpp +++ b/tests/test_bind_fuzzer.cpp @@ -39,6 +39,12 @@ // Test that zmq_bind can handle malformed strings extern "C" int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size) { + // This test might create socket files, so move to /tmp to avoid clobbering + // the working directory with random filenames + char *pwd = get_current_dir_name (); + TEST_ASSERT_NOT_NULL (pwd); + TEST_ASSERT_SUCCESS_ERRNO (chdir ("/tmp")); + setup_test_context (); std::string my_endpoint (reinterpret_cast<const char *> (data), size); void *socket = test_context_socket (ZMQ_PUB); @@ -46,6 +52,8 @@ extern "C" int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size) test_context_socket_close_zero_linger (socket); teardown_test_context (); + TEST_ASSERT_SUCCESS_ERRNO (chdir (pwd)); + free (pwd); return 0; }