summaryrefslogtreecommitdiffstats
path: root/src/sss_client
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2013-09-13 17:41:28 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-09-23 17:12:36 +0200
commitceb0aadff1d70a4ced35e1473427c6f4b25c494d (patch)
tree1c4d17125626a5f47d98e77f5d07aac5c5d84a9a /src/sss_client
parent527ea6674cdb0da39b603df4685228eeaf565a3c (diff)
downloadsssd-1-10.tar.gz
sssd-1-10.tar.xz
sssd-1-10.zip
Check slot validity before MC_SLOT_TO_PTR.sssd-1-10
resolves: https://fedorahosted.org/sssd/ticket/2049
Diffstat (limited to 'src/sss_client')
-rw-r--r--src/sss_client/nss_mc_common.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/sss_client/nss_mc_common.c b/src/sss_client/nss_mc_common.c
index a0a70abc0..6764d801f 100644
--- a/src/sss_client/nss_mc_common.c
+++ b/src/sss_client/nss_mc_common.c
@@ -190,6 +190,10 @@ errno_t sss_nss_mc_get_record(struct sss_cli_mc_ctx *ctx,
int count;
int ret;
+ if (!MC_SLOT_WITHIN_BOUNDS(slot, ctx->dt_size)) {
+ return EINVAL;
+ }
+
/* try max 5 times */
for (count = 5; count > 0; count--) {
rec = MC_SLOT_TO_PTR(ctx->data_table, slot, struct sss_mc_rec);