1#include "fuzz.h"
2
3int
4LLVMFuzzerTestOneInput (const unsigned char *data, size_t size)
5{
6 unsigned char *nul_terminated_data = NULL;
7 GSocketConnectable *connectable = NULL;
8
9 fuzz_set_logging_func ();
10
11 /* ignore @size (g_network_address_parse() doesn’t support it); ensure @data is nul-terminated */
12 nul_terminated_data = (unsigned char *) g_strndup (str: (const gchar *) data, n: size);
13 connectable = g_network_address_parse (host_and_port: (const gchar *) nul_terminated_data, default_port: 1, NULL);
14 g_free (mem: nul_terminated_data);
15
16 if (connectable != NULL)
17 {
18 gchar *text = g_socket_connectable_to_string (connectable);
19 g_free (mem: text);
20 }
21
22 g_clear_object (&connectable);
23
24 return 0;
25}
26

source code of gtk/subprojects/glib/fuzzing/fuzz_network_address_parse.c