Red Hat Bugzilla – Bug 245396
adminutil: retrieveISIEs returns bogus data
Last modified: 2015-12-07 11:55:56 EST
The retrieveISIEs function returns the correct productIDs but the productDNs are
bogus - they look like random memory addresses.
Created attachment 157645 [details]
Created attachment 157651 [details]
cvs commit log
Reviewed by: nkinder (Thanks!)
Fix Description: retrieveISIEs creates a list of id + DN pairs using
the ListNodePtr interface. Each node has a name (the id) and a value
(a char ** with the DN as the first char *) and forms a linked list of
all of the values. It then flattens the list into an array of name/value
pairs for returning. However, instead of passing val to the
addSingleValueAttribute() function for the value, it was passing val cast
to a (char *), which is entirely bogus.
The fix is to pass in ((char**)node->val) which is a char * value. Yet
another lesson in why void * is bad, and why you should not defeat the
compiler's type checker . . .
I also fixed another minor mem leak, and added @nss_inc@ to the list of include
directories - I guess it works because pkg-config mozldap always returns the
nss include directory in its output . . .
Platforms tested: RHEL4
Flag day: Yes - autotool file changes
VERIFIED - no leaks or errors seen with valgrind on RHEL5 x86_64