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