You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2012/03/27 09:33:18 UTC
svn commit: r1305756 - in /tomcat/jk/trunk/native/common: jk_pool.c jk_pool.h
Author: mturk
Date: Tue Mar 27 07:33:18 2012
New Revision: 1305756
URL: http://svn.apache.org/viewvc?rev=1305756&view=rev
Log:
Add pool_calloc so we don't need to call alloc/memzero. Also make sure that excess realloced memory is zeroed
Modified:
tomcat/jk/trunk/native/common/jk_pool.c
tomcat/jk/trunk/native/common/jk_pool.h
Modified: tomcat/jk/trunk/native/common/jk_pool.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_pool.c?rev=1305756&r1=1305755&r2=1305756&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_pool.c (original)
+++ tomcat/jk/trunk/native/common/jk_pool.c Tue Mar 27 07:33:18 2012
@@ -92,17 +92,27 @@ void *jk_pool_alloc(jk_pool_t *p, size_t
return rc;
}
+void *jk_pool_calloc(jk_pool_t *p, size_t size)
+{
+ void *rc = jk_pool_alloc(p, size);
+ if (rc)
+ memset(rc, 0, size);
+ return rc;
+}
+
void *jk_pool_realloc(jk_pool_t *p, size_t sz, const void *old, size_t old_sz)
{
- void *rc;
+ char *rc;
if (!p || (!old && old_sz)) {
return NULL;
}
- rc = jk_pool_alloc(p, sz);
+ rc = (char *)jk_pool_alloc(p, sz);
if (rc) {
memcpy(rc, old, old_sz);
+ if (sz > old_sz)
+ memset(rc + old_sz, 0, sz - old_sz);
}
return rc;
Modified: tomcat/jk/trunk/native/common/jk_pool.h
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_pool.h?rev=1305756&r1=1305755&r2=1305756&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_pool.h (original)
+++ tomcat/jk/trunk/native/common/jk_pool.h Tue Mar 27 07:33:18 2012
@@ -115,6 +115,8 @@ void jk_reset_pool(jk_pool_t *p);
void *jk_pool_alloc(jk_pool_t *p, size_t sz);
+void *jk_pool_calloc(jk_pool_t *p, size_t sz);
+
void *jk_pool_realloc(jk_pool_t *p,
size_t sz, const void *old, size_t old_sz);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org