From 82bd5f0ecccd31c576d8726a5764daf4a92c82f9 Mon Sep 17 00:00:00 2001 From: John Sully Date: Sat, 6 Jul 2019 00:23:38 -0400 Subject: [PATCH] Fix a few potential assert crashes Former-commit-id: 5f3920e491a9632d3b84d9af7800c154f2be0809 --- src/db.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/db.cpp b/src/db.cpp index d1a687712..68e1fae11 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -458,6 +458,7 @@ long long emptyDb(int dbnum, int flags, void(callback)(void*)) { dictEmpty(g_pserver->db[j].pdict,callback); delete g_pserver->db[j].setexpire; g_pserver->db[j].setexpire = new (MALLOC_LOCAL) semiorderedset(); + g_pserver->db[j].expireitr = g_pserver->db[j].setexpire->end(); } } if (g_pserver->cluster_enabled) { @@ -1119,10 +1120,12 @@ int dbSwapDatabases(int id1, int id2) { * remain in the same DB they were. */ db1->pdict = db2->pdict; db1->setexpire = db2->setexpire; + db1->expireitr = db2->expireitr->end(); db1->avg_ttl = db2->avg_ttl; db2->pdict = aux.pdict; db2->setexpire = aux.setexpire; + db2->expireitr = aux.expireitr->end(); db2->avg_ttl = aux.avg_ttl; /* Now we need to handle clients blocked on lists: as an effect