Avoid double free of cluster link (#12930)
Avoid crash while performing `DEBUG CLUSTERLINK KILL` mutliple times (cluster link might not be created/valid).
This commit is contained in:
parent
b3aaa0a136
commit
964f4a4576
@ -5796,12 +5796,12 @@ int handleDebugClusterCommand(client *c) {
|
|||||||
|
|
||||||
/* Terminate the link based on the direction or all. */
|
/* Terminate the link based on the direction or all. */
|
||||||
if (!strcasecmp(c->argv[3]->ptr, "from")) {
|
if (!strcasecmp(c->argv[3]->ptr, "from")) {
|
||||||
freeClusterLink(n->inbound_link);
|
if (n->inbound_link) freeClusterLink(n->inbound_link);
|
||||||
} else if (!strcasecmp(c->argv[3]->ptr, "to")) {
|
} else if (!strcasecmp(c->argv[3]->ptr, "to")) {
|
||||||
freeClusterLink(n->link);
|
if (n->link) freeClusterLink(n->link);
|
||||||
} else if (!strcasecmp(c->argv[3]->ptr, "all")) {
|
} else if (!strcasecmp(c->argv[3]->ptr, "all")) {
|
||||||
freeClusterLink(n->link);
|
if (n->link) freeClusterLink(n->link);
|
||||||
freeClusterLink(n->inbound_link);
|
if (n->inbound_link) freeClusterLink(n->inbound_link);
|
||||||
} else {
|
} else {
|
||||||
addReplyErrorFormat(c, "Unknown direction %s", (char *) c->argv[3]->ptr);
|
addReplyErrorFormat(c, "Unknown direction %s", (char *) c->argv[3]->ptr);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user