diff options
author | Michal Zidek <mzidek@redhat.com> | 2013-09-13 17:41:28 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-09-23 17:11:57 +0200 |
commit | f1dba8ec85896530431c3f9069394e83d9c1b0cc (patch) | |
tree | 6463cca8c3d13fac8a20436530271ab29073e597 /src/sss_client | |
parent | 3be9a74d0acd35430c060322903c29efc3fef9fe (diff) | |
download | sssd-f1dba8ec85896530431c3f9069394e83d9c1b0cc.tar.gz sssd-f1dba8ec85896530431c3f9069394e83d9c1b0cc.tar.xz sssd-f1dba8ec85896530431c3f9069394e83d9c1b0cc.zip |
Check slot validity before MC_SLOT_TO_PTR.
resolves:
https://fedorahosted.org/sssd/ticket/2049
Diffstat (limited to 'src/sss_client')
-rw-r--r-- | src/sss_client/nss_mc_common.c | 4 |
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); |