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-26 01:08:51 +0200
commit48323e596876a5b4a6c493aede44b3db7df23164 (patch)
treec6da342c2128ed0d0d5de83b8e152c23c8670763 /src/sss_client
parent8a3fd80bcb0bc9a80a1b18680c8807c5f81e3d84 (diff)
downloadsssd-1.9.2-128.el6.tar.gz
sssd-1.9.2-128.el6.tar.xz
sssd-1.9.2-128.el6.zip
Check slot validity before MC_SLOT_TO_PTR.sssd-1.9.2-128.el6
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 bb2412a1b..3fa28cc53 100644
--- a/src/sss_client/nss_mc_common.c
+++ b/src/sss_client/nss_mc_common.c
@@ -187,6 +187,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);