summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-07-12 23:08:43 -0500
committerNoriko Hosoi <nhosoi@redhat.com>2010-08-19 13:00:54 -0700
commit2aae0e55cf261c428292d391fd885d31e3de041a (patch)
tree93eb18381ac0a3ae00ff333aa1c43f4c7c51452e
parent956dc049368e79e179c26994a67f1590994647a7 (diff)
downloadds-2aae0e55cf261c428292d391fd885d31e3de041a.tar.gz
ds-2aae0e55cf261c428292d391fd885d31e3de041a.tar.xz
ds-2aae0e55cf261c428292d391fd885d31e3de041a.zip
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
https://bugzilla.redhat.com/show_bug.cgi?id=614511 Resolves: bug 614511 Bug description: Fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891 description: Catch possible NULL pointer in memberof_get_groups_callback().
-rw-r--r--ldap/servers/plugins/memberof/memberof.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 85bcdcbb..919a95e3 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -1439,7 +1439,16 @@ int memberof_get_groups_callback(Slapi_Entry *e, void *callback_data)
char *group_dn = slapi_entry_get_dn(e);
Slapi_Value *group_dn_val = 0;
Slapi_ValueSet *groupvals = *((memberof_get_groups_data*)callback_data)->groupvals;
+ int rc = 0;
+ if (!groupvals)
+ {
+ slapi_log_error( SLAPI_LOG_PLUGIN, MEMBEROF_PLUGIN_SUBSYSTEM,
+ "memberof_get_groups_callback: NULL groupvals\n");
+ rc = -1;
+ goto bail;
+
+ }
/* get the DN of the group */
group_dn_val = slapi_value_new_string(group_dn);
@@ -1459,8 +1468,7 @@ int memberof_get_groups_callback(Slapi_Entry *e, void *callback_data)
}
/* have we been here before? */
- if (groupvals &&
- slapi_valueset_find(((memberof_get_groups_data*)callback_data)->config->group_slapiattr,
+ if (slapi_valueset_find(((memberof_get_groups_data*)callback_data)->config->group_slapiattr,
groupvals, group_dn_val))
{
/* we either hit a recursive grouping, or an entry is
@@ -1482,8 +1490,8 @@ int memberof_get_groups_callback(Slapi_Entry *e, void *callback_data)
memberof_get_groups_r(((memberof_get_groups_data*)callback_data)->config,
group_dn, callback_data);
- bail:
- return 0;
+bail:
+ return rc;
}
/* memberof_is_direct_member()