test_connect_fuzzer.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #ifdef ZMQ_USE_FUZZING_ENGINE
4 #include <fuzzer/FuzzedDataProvider.h>
5 #endif
6 
7 #include <string>
8 
9 #include "testutil.hpp"
10 #include "testutil_unity.hpp"
11 
12 // Test that zmq_connect can handle malformed strings
13 extern "C" int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
14 {
16  std::string my_endpoint (reinterpret_cast<const char *> (data), size);
17  void *socket = test_context_socket (ZMQ_PUB);
18  zmq_connect (socket, my_endpoint.c_str ());
19 
22 
23  return 0;
24 }
25 
26 #ifndef ZMQ_USE_FUZZING_ENGINE
28 {
29  uint8_t **data;
30  size_t *len, num_cases = 0;
32  "tests/libzmq-fuzz-corpora/test_connect_fuzzer_seed_corpus", &data,
33  &len, &num_cases)
34  != 0)
35  exit (77);
36 
37  while (num_cases-- > 0) {
39  LLVMFuzzerTestOneInput (data[num_cases], len[num_cases]));
40  free (data[num_cases]);
41  }
42 
43  free (data);
44  free (len);
45 }
46 
47 int main (int argc, char **argv)
48 {
49  LIBZMQ_UNUSED (argc);
50  LIBZMQ_UNUSED (argv);
51 
53 
54  UNITY_BEGIN ();
56 
57  return UNITY_END ();
58 }
59 #endif
UNITY_END
return UNITY_END()
ZMQ_PUB
#define ZMQ_PUB
Definition: zmq.h:259
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
setup_test_context
void setup_test_context()
Definition: testutil_unity.cpp:179
string
GLsizei const GLchar *const * string
Definition: glcorearb.h:3083
teardown_test_context
void teardown_test_context()
Definition: testutil_unity.cpp:189
test_context_socket_close_zero_linger
void * test_context_socket_close_zero_linger(void *socket_)
Definition: testutil_unity.cpp:215
zmq_connect
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
Definition: zmq.cpp:307
testutil_unity.hpp
fuzzer_corpus_encode
int fuzzer_corpus_encode(const char *dirname, uint8_t ***data, size_t **len, size_t *num_cases)
Definition: testutil.cpp:534
LIBZMQ_UNUSED
#define LIBZMQ_UNUSED(object)
Definition: macros.hpp:6
testutil.hpp
my_endpoint
char my_endpoint[MAX_SOCKET_STRING]
Definition: test_security_curve.cpp:31
test_context_socket
void * test_context_socket(int type_)
Definition: testutil_unity.cpp:200
main
int main(int argc, char **argv)
Definition: test_connect_fuzzer.cpp:47
len
int len
Definition: php/ext/google/protobuf/map.c:206
size
GLsizeiptr size
Definition: glcorearb.h:2943
setup_test_environment
void setup_test_environment(int timeout_seconds_)
Definition: testutil.cpp:201
UNITY_BEGIN
UNITY_BEGIN()
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: glcorearb.h:2879
LLVMFuzzerTestOneInput
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
Definition: test_connect_fuzzer.cpp:13
test_connect_fuzzer
void test_connect_fuzzer()
Definition: test_connect_fuzzer.cpp:27
TEST_ASSERT_SUCCESS_ERRNO
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
Definition: proxy_thr.cpp:47


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59