Hi all,
Anyone willing to take a look at the following patch (then the latest round of LDAP fixes are put to bed):
*) Fix a segfault in the LDAP cache purge. PR 24801
modules/ldap/util_ldap_cache_mgr.c: 1.9, 1.10
+1: minfrin, bnicholes
bnicholes - backporting modules/ldap/util_ldap_cache_mgr.c: r1.7 below
should eliminate the need to backport the "else" condition included
in this patch.
minfrin: The excess "else" condition has been removed in v1.10.
=================================================================== RCS file: /home/cvspublic/httpd-2.0/modules/ldap/util_ldap_cache_mgr.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- httpd-2.0/modules/ldap/util_ldap_cache_mgr.c 2004/09/13 11:11:32 1.8 +++ httpd-2.0/modules/ldap/util_ldap_cache_mgr.c 2004/09/19 23:00:25 1.9 @@ -173,7 +173,7 @@ void util_ald_cache_purge(util_ald_cache_t *cache) { unsigned long i; - util_cache_node_t *p, *q; + util_cache_node_t *p, *q, **pp; apr_time_t t;
if (!cache) @@ -184,7 +184,8 @@ cache->numpurges++;
for (i=0; i < cache->size; ++i) { - p = cache->nodes[i]; + pp = cache->nodes + i; + p = *pp; while (p != NULL) { if (p->add_time < cache->marktime) { q = p->next; @@ -192,10 +193,11 @@ util_ald_free(cache, p); cache->numentries--; cache->npurged++; - p = q; + p = *pp = q; } else { - p = p->next; + pp = &(p->next); + p = *pp; } } }
Regards, Graham --
smime.p7s
Description: S/MIME Cryptographic Signature