static void zserv_client_event(struct zserv *client,
enum zserv_client_event event)
{
+#ifdef FUZZING
+ return;
+#endif
switch (event) {
case ZSERV_CLIENT_READ:
thread_add_read(client->pthread->master, zserv_read, client,
int zserv_send_message(struct zserv *client, struct stream *msg)
{
+#ifdef FUZZING
+ stream_free(msg);
+ return 0;
+#endif
frr_with_mutex(&client->obuf_mtx) {
stream_fifo_push(client->obuf_fifo, msg);
}
unsigned long nroutes;
unsigned long nnhgs;
+#ifndef FUZZING
close(client->sock);
+#endif
if (DYNAMIC_CLIENT_GR_DISABLED(client)) {
zebra_mpls_client_cleanup_vrf_label(client->proto);
if (client->wb)
buffer_free(client->wb);
+#ifndef FUZZING
/* Free buffer mutexes */
pthread_mutex_destroy(&client->obuf_mtx);
pthread_mutex_destroy(&client->ibuf_mtx);
+#endif
/* Free bitmaps. */
for (afi_t afi = AFI_IP; afi < AFI_MAX; afi++) {
bool free_p = true;
if (client->pthread) {
+#ifndef FUZZING
/* synchronously stop and join pthread */
frr_pthread_stop(client->pthread, NULL);
/* destroy pthread */
frr_pthread_destroy(client->pthread);
client->pthread = NULL;
+#endif
}
/*
client->obuf_fifo = stream_fifo_new();
client->ibuf_work = stream_new(stream_size);
client->obuf_work = stream_new(stream_size);
+#ifndef FUZZING
pthread_mutex_init(&client->ibuf_mtx, NULL);
pthread_mutex_init(&client->obuf_mtx, NULL);
+#endif
client->wb = buffer_new(0);
TAILQ_INIT(&(client->gr_info_queue));
listnode_add(zrouter.client_list, client);
}
+#ifndef FUZZING
struct frr_pthread_attr zclient_pthr_attrs = {
.start = frr_pthread_attr_default.start,
.stop = frr_pthread_attr_default.stop
/* start read loop */
zserv_client_event(client, ZSERV_CLIENT_READ);
+#endif
/* call callbacks */
hook_call(zserv_client_connect, client);
void zserv_event(struct zserv *client, enum zserv_event event)
{
+#ifdef FUZZING
+ return;
+#endif
switch (event) {
case ZSERV_ACCEPT:
thread_add_read(zrouter.master, zserv_accept, NULL, zsock,