summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhaozhao.zz <zhaozhao.zz@alibaba-inc.com>2019-01-25 19:35:18 +0800
committerzhaozhao.zz <zhaozhao.zz@alibaba-inc.com>2019-01-25 19:35:18 +0800
commit0de83bcc62cec57a3e0bd5912fd3862f25654ddb (patch)
tree4dab1eb7036cddc7c9b943cebe47ab2b05c2a11d
parent8fc0079366fcf7c75cbfd4864c448ca9aae5c835 (diff)
downloadredis-0de83bcc62cec57a3e0bd5912fd3862f25654ddb.tar.gz
ACL: fix memory leak when key patterns no match
-rw-r--r--src/acl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/acl.c b/src/acl.c
index 0456e9f20..7aa7204f8 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -570,9 +570,12 @@ int ACLCheckCommandPerm(client *c) {
break;
}
}
- if (!match) return ACL_DENIED_KEY;
+ if (!match) {
+ getKeysFreeResult(keyidx);
+ return ACL_DENIED_KEY;
+ }
}
- getKeysFreeResult(keyidx);
+ if (keyidx) getKeysFreeResult(keyidx);
}
/* If we survived all the above checks, the user can execute the