ASF Bugzilla – Attachment 11633 Details for
Bug 24801
Apache crashes when distinct users exceeds LDAPCacheEntries
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Add checking for NULL in *_rmm_* functions
ldap-segfault.patch (text/plain), 1.75 KB, created by
Graham Leggett
on 2004-05-22 02:06:29 UTC
(
hide
)
Description:
Add checking for NULL in *_rmm_* functions
Filename:
MIME Type:
Creator:
Graham Leggett
Created:
2004-05-22 02:06:29 UTC
Size:
1.75 KB
patch
obsolete
>Index: util_ldap_cache_mgr.c >=================================================================== >RCS file: /home/cvs/httpd-2.0/modules/experimental/util_ldap_cache_mgr.c,v >retrieving revision 1.15 >diff -u -r1.15 util_ldap_cache_mgr.c >--- util_ldap_cache_mgr.c 21 Feb 2004 00:50:20 -0000 1.15 >+++ util_ldap_cache_mgr.c 22 May 2004 02:02:41 -0000 >@@ -99,7 +99,8 @@ > #if APR_HAS_SHARED_MEMORY > if (cache->rmm_addr) { > /* allocate from shared memory */ >- return (void *)apr_rmm_addr_get(cache->rmm_addr, apr_rmm_calloc(cache->rmm_addr, size)); >+ apr_rmm_off_t block = apr_rmm_calloc(cache->rmm_addr, size); >+ return block ? (void *)apr_rmm_addr_get(cache->rmm_addr, block) : NULL; > } > else { > /* Cache shm is not used */ >@@ -115,7 +116,8 @@ > #if APR_HAS_SHARED_MEMORY > if (cache->rmm_addr) { > /* allocate from shared memory */ >- char *buf = (char *)apr_rmm_addr_get(cache->rmm_addr, apr_rmm_calloc(cache->rmm_addr, strlen(s)+1)); >+ apr_rmm_off_t block = apr_rmm_calloc(cache->rmm_addr, strlen(s)+1); >+ char *buf = block ? (char *)apr_rmm_addr_get(cache->rmm_addr, block) : NULL; > if (buf) { > strcpy(buf, s); > return buf; >@@ -262,9 +264,13 @@ > return NULL; > > #if APR_HAS_SHARED_MEMORY >- if (!st->cache_rmm) >+ if (!st->cache_rmm) { > return NULL; >- cache = (util_ald_cache_t *)apr_rmm_addr_get(st->cache_rmm, apr_rmm_calloc(st->cache_rmm, sizeof(util_ald_cache_t))); >+ } >+ else { >+ apr_rmm_off_t block = apr_rmm_calloc(st->cache_rmm, sizeof(util_ald_cache_t)); >+ cache = block ? (util_ald_cache_t *)apr_rmm_addr_get(st->cache_rmm, block) : NULL; >+ } > #else > cache = (util_ald_cache_t *)calloc(sizeof(util_ald_cache_t), 1); > #endif
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 24801
: 11633 |
11634
|
12817