summaryrefslogtreecommitdiff
path: root/src/redis-check-rdb.c
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2022-07-11 17:44:20 +0300
committerGitHub <noreply@github.com>2022-07-11 17:44:20 +0300
commit76b9c13d1dbd692a1fdee7aefde8e2dc5ccd0e3a (patch)
treedd9c1c34afb75f0ff8f774eef6ef87125ad06dd2 /src/redis-check-rdb.c
parent05833959e3875ea10f9b2934dc68daca549c9531 (diff)
parent85abb7cf2ad3d091310a293ff372689f710b2ef7 (diff)
downloadredis-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.c9
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);