1 | #include "fuzz.h" |
---|---|
2 | |
3 | static const GDBusCapabilityFlags flags = G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING; |
4 | |
5 | int |
6 | LLVMFuzzerTestOneInput (const unsigned char *data, size_t size) |
7 | { |
8 | gssize bytes; |
9 | GDBusMessage *msg = NULL; |
10 | guchar *blob = NULL; |
11 | gsize msg_size; |
12 | |
13 | fuzz_set_logging_func (); |
14 | |
15 | bytes = g_dbus_message_bytes_needed (blob: (guchar*) data, blob_len: size, NULL); |
16 | if (bytes <= 0) |
17 | return 0; |
18 | |
19 | msg = g_dbus_message_new_from_blob (blob: (guchar*) data, blob_len: size, capabilities: flags, NULL); |
20 | if (msg == NULL) |
21 | return 0; |
22 | |
23 | blob = g_dbus_message_to_blob (message: msg, out_size: &msg_size, capabilities: flags, NULL); |
24 | |
25 | g_free (mem: blob); |
26 | g_object_unref (object: msg); |
27 | return 0; |
28 | } |
29 |