1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

* modules/ldap/util_ldap_cache_mgr.c (util_ald_cache_insert): Fix a

cache corruption case: ensure that there is room in the cache for a
copy of the payload before inserting the node.

PR: 34209


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@225746 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Joe Orton
2005-07-28 10:45:59 +00:00
parent 93004fd4d8
commit 9a76da4fef

View File

@@ -406,11 +406,18 @@ void *util_ald_cache_insert(util_ald_cache_t *cache, void *payload)
return NULL;
}
/* Take a copy of the payload before proceeeding. */
payload = (*cache->copy)(cache, payload);
if (!payload) {
util_ald_free(cache, node);
return NULL;
}
/* populate the entry */
cache->inserts++;
hashval = (*cache->hash)(payload) % cache->size;
node->add_time = apr_time_now();
node->payload = (*cache->copy)(cache, payload);
node->payload = payload;
node->next = cache->nodes[hashval];
cache->nodes[hashval] = node;