Fix debug assertion when a DCB is printed

All DCBs don't have the server pointer set so it needs to be checked
before calling any functions that take a server as a parameter.
This commit is contained in:
Markus Mäkelä 2018-08-02 23:34:58 +03:00
parent d22b02047f
commit 6fc3fbd697
No known key found for this signature in database
GPG Key ID: 72D48FCE664F7B19

View File

@ -1382,11 +1382,13 @@ printDCB(DCB *dcb)
{
printf("\tQueued write data: %u\n", gwbuf_length(dcb->writeq));
}
char *statusname = server_status(dcb->server);
if (statusname)
if (dcb->server)
{
printf("\tServer status: %s\n", statusname);
MXS_FREE(statusname);
if (char *statusname = server_status(dcb->server))
{
printf("\tServer status: %s\n", statusname);
MXS_FREE(statusname);
}
}
char *rolename = dcb_role_name(dcb);
if (rolename)
@ -1486,11 +1488,14 @@ dprintOneDCB(DCB *pdcb, DCB *dcb)
dcb_printf(pdcb, "\tQueued write data: %d\n",
gwbuf_length(dcb->writeq));
}
char *statusname = server_status(dcb->server);
if (statusname)
if (dcb->server)
{
dcb_printf(pdcb, "\tServer status: %s\n", statusname);
MXS_FREE(statusname);
char *statusname = server_status(dcb->server);
if (statusname)
{
dcb_printf(pdcb, "\tServer status: %s\n", statusname);
MXS_FREE(statusname);
}
}
char *rolename = dcb_role_name(dcb);
if (rolename)
@ -1637,11 +1642,14 @@ dprintDCB(DCB *pdcb, DCB *dcb)
{
dcb_printf(pdcb, "\tDelayed write data: %d\n", gwbuf_length(dcb->delayq));
}
char *statusname = server_status(dcb->server);
if (statusname)
if (dcb->server)
{
dcb_printf(pdcb, "\tServer status: %s\n", statusname);
MXS_FREE(statusname);
char *statusname = server_status(dcb->server);
if (statusname)
{
dcb_printf(pdcb, "\tServer status: %s\n", statusname);
MXS_FREE(statusname);
}
}
char *rolename = dcb_role_name(dcb);
if (rolename)