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:
Harkrishn Patro 2024-01-11 15:59:22 -08:00 committed by GitHub
parent b3aaa0a136
commit 964f4a4576
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -5796,12 +5796,12 @@ int handleDebugClusterCommand(client *c) {
/* Terminate the link based on the direction or all. */
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")) {
freeClusterLink(n->link);
if (n->link) freeClusterLink(n->link);
} else if (!strcasecmp(c->argv[3]->ptr, "all")) {
freeClusterLink(n->link);
freeClusterLink(n->inbound_link);
if (n->link) freeClusterLink(n->link);
if (n->inbound_link) freeClusterLink(n->inbound_link);
} else {
addReplyErrorFormat(c, "Unknown direction %s", (char *) c->argv[3]->ptr);
}