diff --git a/fuzz/rdb/dict.txt b/fuzz/rdb/dict.txt new file mode 100644 index 000000000..d854f3319 --- /dev/null +++ b/fuzz/rdb/dict.txt @@ -0,0 +1,13 @@ +="repl-stream-db" +="repl-id" +="repl-offset" +="lua" +="redis-ver" +="ctime" +="used-mem" +="aof-preamble" +="redis-bits" +="mvcc-tstamp" +="keydb-subexpire-key" +="keydb-subexpire-when" + diff --git a/fuzz/rdb/testcases/empty.rdb b/fuzz/rdb/testcases/empty.rdb new file mode 100644 index 000000000..c490bd4c4 Binary files /dev/null and b/fuzz/rdb/testcases/empty.rdb differ diff --git a/fuzz/rdb/testcases/expire.rdb b/fuzz/rdb/testcases/expire.rdb new file mode 100644 index 000000000..291d25214 Binary files /dev/null and b/fuzz/rdb/testcases/expire.rdb differ diff --git a/fuzz/rdb/testcases/expireonload.rdb b/fuzz/rdb/testcases/expireonload.rdb new file mode 100644 index 000000000..4e98f5f81 Binary files /dev/null and b/fuzz/rdb/testcases/expireonload.rdb differ diff --git a/fuzz/rdb/testcases/integer.rdb b/fuzz/rdb/testcases/integer.rdb new file mode 100644 index 000000000..379ad2e21 Binary files /dev/null and b/fuzz/rdb/testcases/integer.rdb differ diff --git a/fuzz/rdb/testcases/integer_shared.rdb b/fuzz/rdb/testcases/integer_shared.rdb new file mode 100644 index 000000000..aff442e75 Binary files /dev/null and b/fuzz/rdb/testcases/integer_shared.rdb differ diff --git a/fuzz/rdb/testcases/multidb.rdb b/fuzz/rdb/testcases/multidb.rdb new file mode 100644 index 000000000..0481143b8 Binary files /dev/null and b/fuzz/rdb/testcases/multidb.rdb differ diff --git a/fuzz/rdb/testcases/replica.rdb b/fuzz/rdb/testcases/replica.rdb new file mode 100644 index 000000000..52ec1a962 Binary files /dev/null and b/fuzz/rdb/testcases/replica.rdb differ diff --git a/fuzz/rdb/testcases/set.rdb b/fuzz/rdb/testcases/set.rdb new file mode 100644 index 000000000..9f760eafd Binary files /dev/null and b/fuzz/rdb/testcases/set.rdb differ diff --git a/fuzz/rdb/testcases/string.rdb b/fuzz/rdb/testcases/string.rdb new file mode 100644 index 000000000..b3b5f6dc5 Binary files /dev/null and b/fuzz/rdb/testcases/string.rdb differ diff --git a/src/server.cpp b/src/server.cpp index 74c18df24..96e1cc0f2 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -5243,6 +5243,10 @@ int main(int argc, char **argv) { aeReleaseLock(); //Finally we can dump the lock moduleReleaseGIL(true); + // If we're just fuzzing then we've already loaded the RDB so just quit successfully + if (strstr(argv[0],"keydb-fuzz-rdb") != NULL) + return EXIT_SUCCESS; + serverAssert(cserver.cthreads > 0 && cserver.cthreads <= MAX_EVENT_LOOPS); pthread_t rgthread[MAX_EVENT_LOOPS]; for (int iel = 0; iel < cserver.cthreads; ++iel)