On 11/17/2007 12:15 AM, [EMAIL PROTECTED] wrote:
> Author: rederpj
> Date: Fri Nov 16 15:14:56 2007
> New Revision: 595866
>
> URL: http://svn.apache.org/viewvc?rev=595866&view=rev
> Log:
> A quick fix to avoid potential memory issues.
>
> Modified:
> httpd/httpd/trunk/modules/ldap/util_ldap_cache.c
>
> Modified: httpd/httpd/trunk/modules/ldap/util_ldap_cache.c
> URL:
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ldap/util_ldap_cache.c?rev=595866&r1=595865&r2=595866&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/ldap/util_ldap_cache.c (original)
> +++ httpd/httpd/trunk/modules/ldap/util_ldap_cache.c Fri Nov 16 15:14:56 2007
> @@ -266,7 +266,13 @@
> }
> node->lastcompare = n->lastcompare;
> node->result = n->result;
> - node->sgl_processed = n->sgl_processed;
> + if (n->subgroupList && !node->subgroupList ) {
Sorry, but I do not understand how this could happen, as a few lines above we
have:
if (!(node->dn = util_ald_strdup(cache, n->dn)) ||
!(node->attrib = util_ald_strdup(cache, n->attrib)) ||
!(node->value = util_ald_strdup(cache, n->value)) ||
((n->subgroupList) && !(node->subgroupList =
util_ald_sgl_dup(cache, n->subgroupList)))) {
util_ldap_compare_node_free(cache, node);
return NULL;
}
So IMHO the condition in the new if condition never becomes true and thus the
new code
would be the same as the old one.
Regards
RĂ¼diger