diff --git a/src/utils/eloop.c b/src/utils/eloop.c index 0da6de45e..4a565ebdb 100644 --- a/src/utils/eloop.c +++ b/src/utils/eloop.c @@ -242,8 +242,10 @@ static int eloop_sock_table_add_sock(struct eloop_sock_table *table, eloop_trace_sock_remove_ref(table); tmp = os_realloc_array(table->table, table->count + 1, sizeof(struct eloop_sock)); - if (tmp == NULL) + if (tmp == NULL) { + eloop_trace_sock_add_ref(table); return -1; + } tmp[table->count].sock = sock; tmp[table->count].eloop_data = eloop_data;