diff options
author | Martin Kosek <mkosek@redhat.com> | 2011-01-14 10:24:04 +0100 |
---|---|---|
committer | Simo Sorce <ssorce@redhat.com> | 2011-01-14 14:20:57 -0500 |
commit | c94d20cfd8cc1bd8cd8152b19d6807b654286197 (patch) | |
tree | 963fb678ee96ef9403e1fa54d0d1d94bc4976193 /daemons/ipa-slapi-plugins/ipa-uuid | |
parent | a6a91e5dbc96498ef33505e4bf96466590f0da42 (diff) | |
download | freeipa-c94d20cfd8cc1bd8cd8152b19d6807b654286197.tar.gz freeipa-c94d20cfd8cc1bd8cd8152b19d6807b654286197.tar.xz freeipa-c94d20cfd8cc1bd8cd8152b19d6807b654286197.zip |
Unchecked return values in SLAPI plugins
Return values weren't checked in several cases which could
have lead to unhandled errors.
https://fedorahosted.org/freeipa/ticket/722
Diffstat (limited to 'daemons/ipa-slapi-plugins/ipa-uuid')
-rw-r--r-- | daemons/ipa-slapi-plugins/ipa-uuid/ipa_uuid.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/daemons/ipa-slapi-plugins/ipa-uuid/ipa_uuid.c b/daemons/ipa-slapi-plugins/ipa-uuid/ipa_uuid.c index 073b73cb6..83aac77da 100644 --- a/daemons/ipa-slapi-plugins/ipa-uuid/ipa_uuid.c +++ b/daemons/ipa-slapi-plugins/ipa-uuid/ipa_uuid.c @@ -815,8 +815,16 @@ static int ipauuid_pre_op(Slapi_PBlock *pb, int modtype) */ Slapi_DN *tmp_dn = slapi_sdn_new_dn_byref(dn); if (tmp_dn) { - slapi_search_internal_get_entry(tmp_dn, NULL, &e, getPluginID()); + ret = slapi_search_internal_get_entry(tmp_dn, NULL, &e, getPluginID()); slapi_sdn_free(&tmp_dn); + + if (ret) { + LOG_FATAL("slapi_search_internal_get_entry failed!? Err %d\n", + ret); + ret = LDAP_OPERATIONS_ERROR; + goto done; + } + free_entry = true; } @@ -967,8 +975,8 @@ static int ipauuid_pre_op(Slapi_PBlock *pb, int modtype) Slapi_Attr *sattr = NULL; int e_numvals = 0; - slapi_entry_attr_find(e, attr, &sattr); - if (sattr) { + if ((!slapi_entry_attr_find(e, attr, &sattr)) && + (NULL != sattr)) { slapi_attr_get_numvalues(sattr, &e_numvals); if (numvals >= e_numvals) { generate = true; |