MXS-2721: Check that LocalClient creation succeeds

The creation can fail if a network socket cannot be opened and connected
to the host in question.
This commit is contained in:
Markus Mäkelä 2019-10-10 08:45:14 +03:00
parent 067b1cfbc1
commit 1202c00fc7
No known key found for this signature in database
GPG Key ID: 72D48FCE664F7B19

View File

@ -1438,13 +1438,15 @@ static void worker_func(int thread_id, void* data)
for (TargetList::iterator it = info->targets.begin();
it != info->targets.end(); it++)
{
LocalClient* client = LocalClient::create(&info->session, &info->protocol, it->first);
GWBUF* buffer = modutil_create_query(it->second.c_str());
client->queue_query(buffer);
gwbuf_free(buffer);
if (LocalClient* client = LocalClient::create(&info->session, &info->protocol, it->first))
{
GWBUF* buffer = modutil_create_query(it->second.c_str());
client->queue_query(buffer);
gwbuf_free(buffer);
// The LocalClient needs to delete itself once the queries are done
client->self_destruct();
// The LocalClient needs to delete itself once the queries are done
client->self_destruct();
}
}
delete info;