Fix ASAN use after free

This commit is contained in:
John Sully 2022-08-23 06:37:26 +00:00
parent 1f741154f1
commit dd65d4af44
2 changed files with 5 additions and 1 deletions

View File

@ -771,7 +771,7 @@ unsigned long getClusterConnectionsCount(void) {
/* We decrement the number of nodes by one, since there is the
* "myself" node too in the list. Each node uses two file descriptors,
* one incoming and one outgoing, thus the multiplication by 2. */
return g_pserver->cluster_enabled ?
return g_pserver->cluster_enabled && g_pserver->cluster != nullptr ?
((dictSize(g_pserver->cluster->nodes)-1)*2) : 0;
}

View File

@ -3961,6 +3961,10 @@ void freeMasterInfo(redisMaster *mi)
{
sdsfree(mi->masterauth);
zfree(mi->masteruser);
if (g_pserver->rdb_filename != nullptr && g_pserver->rdb_filename == mi->repl_transfer_tmpfile) {
unlink(g_pserver->rdb_filename);
g_pserver->rdb_filename = nullptr;
}
if (mi->repl_transfer_tmpfile)
zfree(mi->repl_transfer_tmpfile);
delete mi->staleKeyMap;