diff options
author | Oran Agra <oran@redislabs.com> | 2022-07-11 17:44:20 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-11 17:44:20 +0300 |
commit | 76b9c13d1dbd692a1fdee7aefde8e2dc5ccd0e3a (patch) | |
tree | dd9c1c34afb75f0ff8f774eef6ef87125ad06dd2 /src/redis-check-rdb.c | |
parent | 05833959e3875ea10f9b2934dc68daca549c9531 (diff) | |
parent | 85abb7cf2ad3d091310a293ff372689f710b2ef7 (diff) | |
download | redis-76b9c13d1dbd692a1fdee7aefde8e2dc5ccd0e3a.tar.gz |
Merge pull request #10962 from oranagra/release-7.0.37.0.3
Release 7.0.3
Diffstat (limited to 'src/redis-check-rdb.c')
-rw-r--r-- | src/redis-check-rdb.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/redis-check-rdb.c b/src/redis-check-rdb.c index accdc35b0..959768991 100644 --- a/src/redis-check-rdb.c +++ b/src/redis-check-rdb.c @@ -283,7 +283,10 @@ int redis_check_rdb(char *rdbfilename, FILE *fp) { robj *auxkey, *auxval; rdbstate.doing = RDB_CHECK_DOING_READ_AUX; if ((auxkey = rdbLoadStringObject(&rdb)) == NULL) goto eoferr; - if ((auxval = rdbLoadStringObject(&rdb)) == NULL) goto eoferr; + if ((auxval = rdbLoadStringObject(&rdb)) == NULL) { + decrRefCount(auxkey); + goto eoferr; + } rdbCheckInfo("AUX FIELD %s = '%s'", (char*)auxkey->ptr, (char*)auxval->ptr); @@ -297,6 +300,10 @@ int redis_check_rdb(char *rdbfilename, FILE *fp) { if ((moduleid = rdbLoadLen(&rdb,NULL)) == RDB_LENERR) goto eoferr; if ((when_opcode = rdbLoadLen(&rdb,NULL)) == RDB_LENERR) goto eoferr; if ((when = rdbLoadLen(&rdb,NULL)) == RDB_LENERR) goto eoferr; + if (when_opcode != RDB_MODULE_OPCODE_UINT) { + rdbCheckError("bad when_opcode"); + goto err; + } char name[10]; moduleTypeNameByID(name,moduleid); |