The event entry needs to be freed when giving up on retries.
if (e->retry >= dl_list_len(&s->addr_list)) {
wpa_printf(MSG_DEBUG, "WPS UPnP: Giving up on sending event "
"for %s", e->addr->domain_and_port);
if (e->retry >= dl_list_len(&s->addr_list)) {
wpa_printf(MSG_DEBUG, "WPS UPnP: Giving up on sending event "
"for %s", e->addr->domain_and_port);
return;
}
dl_list_add(&s->event_queue, &e->list);
return;
}
dl_list_add(&s->event_queue, &e->list);