Fix small memory leak when switching event loops

This commit is contained in:
Willem Toorop 2015-10-22 14:16:53 +02:00
parent 98a2c497d2
commit 47b77c948a
1 changed files with 7 additions and 7 deletions

View File

@ -2470,15 +2470,15 @@ getdns_context_detach_eventloop(struct getdns_context* context)
}
getdns_return_t
getdns_context_set_eventloop(struct getdns_context* context, getdns_eventloop* loop)
getdns_context_set_eventloop(getdns_context* context, getdns_eventloop* loop)
{
RETURN_IF_NULL(context, GETDNS_RETURN_INVALID_PARAMETER);
RETURN_IF_NULL(loop , GETDNS_RETURN_INVALID_PARAMETER);
getdns_return_t r = getdns_context_detach_eventloop(context);
if (r != GETDNS_RETURN_GOOD)
return r;
if (!context || !loop)
return GETDNS_RETURN_INVALID_PARAMETER;
if (context->extension) {
cancel_outstanding_requests(context, 1);
context->extension->vmt->cleanup(context->extension);
}
context->extension = loop;
return GETDNS_RETURN_GOOD;
}