Fix heap buffer overflow in blr
The name printing wrote past the end of the buffer.
This commit is contained in:
@ -392,11 +392,12 @@ blr_restart_master(ROUTER_INSTANCE *router)
|
|||||||
|
|
||||||
/* Set reconnection task */
|
/* Set reconnection task */
|
||||||
static const char master[] = "Master";
|
static const char master[] = "Master";
|
||||||
char *name = (char *)MXS_MALLOC(strlen(router->service->name) + sizeof(master));
|
size_t sz = strlen(router->service->name) + sizeof(master) + 2;
|
||||||
|
char *name = (char *)MXS_MALLOC(sz);
|
||||||
|
|
||||||
if (name)
|
if (name)
|
||||||
{
|
{
|
||||||
sprintf(name, "%s %s", router->service->name, master);
|
snprintf(name, sz, "%s %s", router->service->name, master);
|
||||||
hktask_add(name,
|
hktask_add(name,
|
||||||
blr_start_master_in_main,
|
blr_start_master_in_main,
|
||||||
router,
|
router,
|
||||||
|
Reference in New Issue
Block a user