diff options
author | Endi S. Dewata <edewata@redhat.com> | 2010-07-12 23:08:43 -0500 |
---|---|---|
committer | Noriko Hosoi <nhosoi@redhat.com> | 2010-08-19 13:00:54 -0700 |
commit | 2aae0e55cf261c428292d391fd885d31e3de041a (patch) | |
tree | 93eb18381ac0a3ae00ff333aa1c43f4c7c51452e | |
parent | 956dc049368e79e179c26994a67f1590994647a7 (diff) | |
download | ds-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.c | 16 |
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() |