Hello community,

here is the log from the commit of package jemalloc for openSUSE:Factory 
checked in at 2015-10-25 14:18:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jemalloc (Old)
 and      /work/SRC/openSUSE:Factory/.jemalloc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jemalloc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/jemalloc/jemalloc.changes        2015-09-30 
05:53:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.jemalloc.new/jemalloc.changes   2015-10-25 
14:18:20.000000000 +0100
@@ -1,0 +2,8 @@
+Sat Oct 24 18:07:12 UTC 2015 - [email protected]
+
+- Update to version 4.0.4
+  * Fix xallocx(..., MALLOCX_ZERO to zero the last full trailing page
+    of large allocations that have been randomly assigned an offset of
+    0 when --enable-cache-oblivious configure option is enabled.
+
+-------------------------------------------------------------------

Old:
----
  jemalloc-4.0.3.tar.bz2

New:
----
  jemalloc-4.0.4.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ jemalloc.spec ++++++
--- /var/tmp/diff_new_pack.In1fnc/_old  2015-10-25 14:18:20.000000000 +0100
+++ /var/tmp/diff_new_pack.In1fnc/_new  2015-10-25 14:18:20.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           jemalloc
-Version:        4.0.3
+Version:        4.0.4
 Release:        0
 %define lname  libjemalloc2
 Summary:        General-purpose scalable concurrent malloc implementation

++++++ jemalloc-4.0.3.tar.bz2 -> jemalloc-4.0.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/ChangeLog new/jemalloc-4.0.4/ChangeLog
--- old/jemalloc-4.0.3/ChangeLog        2015-09-25 05:07:46.000000000 +0200
+++ new/jemalloc-4.0.4/ChangeLog        2015-10-24 16:56:52.000000000 +0200
@@ -4,6 +4,18 @@
 
     https://github.com/jemalloc/jemalloc
 
+* 4.0.4 (October 24, 2015)
+
+  This bugfix release fixes another xallocx() regression.  No other regressions
+  have come to light in over a month, so this is likely a good starting point
+  for people who prefer to wait for "dot one" releases with all the major 
issues
+  shaken out.
+
+  Bug fixes:
+  - Fix xallocx(..., MALLOCX_ZERO to zero the last full trailing page of large
+    allocations that have been randomly assigned an offset of 0 when
+    --enable-cache-oblivious configure option is enabled.
+
 * 4.0.3 (September 24, 2015)
 
   This bugfix release continues the trend of xallocx() and heap profiling 
fixes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/VERSION new/jemalloc-4.0.4/VERSION
--- old/jemalloc-4.0.3/VERSION  2015-09-25 05:07:57.000000000 +0200
+++ new/jemalloc-4.0.4/VERSION  2015-10-24 16:56:52.000000000 +0200
@@ -1 +1 @@
-4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c
+4.0.4-0-g91010a9e2ebfc84b1ac1ed7fdde3bfed4f65f180
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/doc/jemalloc.3 
new/jemalloc-4.0.4/doc/jemalloc.3
--- old/jemalloc-4.0.3/doc/jemalloc.3   2015-09-25 05:08:53.000000000 +0200
+++ new/jemalloc-4.0.4/doc/jemalloc.3   2015-10-24 16:57:59.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: JEMALLOC
 .\"    Author: Jason Evans
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 09/24/2015
+.\"      Date: 10/24/2015
 .\"    Manual: User Manual
-.\"    Source: jemalloc 4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c
+.\"    Source: jemalloc 4.0.4-0-g91010a9e2ebfc84b1ac1ed7fdde3bfed4f65f180
 .\"  Language: English
 .\"
-.TH "JEMALLOC" "3" "09/24/2015" "jemalloc 4.0.3-0-ge9192eacf893" "User Manual"
+.TH "JEMALLOC" "3" "10/24/2015" "jemalloc 4.0.4-0-g91010a9e2ebf" "User Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -31,7 +31,7 @@
 jemalloc \- general purpose memory allocation functions
 .SH "LIBRARY"
 .PP
-This manual describes jemalloc 
4\&.0\&.3\-0\-ge9192eacf8935e29fc62fddc2701f7942b1cc02c\&. More information can 
be found at the
+This manual describes jemalloc 
4\&.0\&.4\-0\-g91010a9e2ebfc84b1ac1ed7fdde3bfed4f65f180\&. More information can 
be found at the
 \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&.
 .SH "SYNOPSIS"
 .sp
@@ -1026,7 +1026,7 @@
 .PP
 "thread\&.prof\&.name" (\fBconst char *\fR) r\- or \-w [\fB\-\-enable\-prof\fR]
 .RS 4
-Get/set the descriptive name associated with the calling thread in memory 
profile dumps\&. An internal copy of the name string is created, so the input 
string need not be maintained after this interface completes execution\&. The 
output string of this interface should be copied for non\-ephemeral uses, 
because multiple implementation details can cause asynchronous string 
deallocation\&. Furthermore, each invocation of this interface can only read or 
write; simultaneous read/write is not supported due to string lifetime 
limitations\&. The name string must nil\-terminated and comprised only of 
characters in the sets recognized by
+Get/set the descriptive name associated with the calling thread in memory 
profile dumps\&. An internal copy of the name string is created, so the input 
string need not be maintained after this interface completes execution\&. The 
output string of this interface should be copied for non\-ephemeral uses, 
because multiple implementation details can cause asynchronous string 
deallocation\&. Furthermore, each invocation of this interface can only read or 
write; simultaneous read/write is not supported due to string lifetime 
limitations\&. The name string must be nil\-terminated and comprised only of 
characters in the sets recognized by
 \fBisgraph\fR(3)
 and
 \fBisblank\fR(3)\&.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/doc/jemalloc.html 
new/jemalloc-4.0.4/doc/jemalloc.html
--- old/jemalloc-4.0.3/doc/jemalloc.html        2015-09-25 05:08:53.000000000 
+0200
+++ new/jemalloc-4.0.4/doc/jemalloc.html        2015-10-24 16:57:51.000000000 
+0200
@@ -1,7 +1,7 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1"><title>JEMALLOC</title><meta name="generator" 
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" 
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div 
class="refentry"><a name="idp45223136"></a><div class="titlepage"></div><div 
class="refnamediv"><h2>Name</h2><p>jemalloc &#8212; general purpose memory 
allocation functions</p></div><div class="refsect1"><a 
name="library"></a><h2>LIBRARY</h2><p>This manual describes jemalloc 
4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c.  More information
-    can be found at the <a class="ulink" 
href="http://www.canonware.com/jemalloc/"; target="_top">jemalloc 
website</a>.</p></div><div class="refsynopsisdiv"><h2>SYNOPSIS</h2><div 
class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;<code 
class="filename">jemalloc/jemalloc.h</code>&gt;</pre><div class="refsect2"><a 
name="idp44244480"></a><h3>Standard API</h3><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">malloc</b>(</code></td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">calloc</b>(</code></td><td>size_t <var 
class="pdparam">number</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">posix_memalign</b>(</code></td><td>void **<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">alignment</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">aligned_alloc</b>(</code></td><td>size_t <var 
class="pdparam">alignment</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">realloc</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">free</b>(</code></td><td>void *<var 
class="pdparam">ptr</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div></div><div class="refsect2"><a 
name="idp46062768"></a><h3>Non-standard API</h3><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">mallocx</b>(</code></td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">rallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">xallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">extra</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">sallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">dallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">sdallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">nallocx</b>(</code></td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">mallctl</b>(</code></td><td>const char *<var 
class="pdparam">name</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">oldp</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">oldlenp</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">newp</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">newlen</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">mallctlnametomib</b>(</code></td><td>const char *<var 
class="pdparam">name</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">mibp</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">miblenp</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">mallctlbymib</b>(</code></td><td>const size_t *<var 
class="pdparam">mib</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">miblen</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">oldp</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">oldlenp</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">newp</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">newlen</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">malloc_stats_print</b>(</code></td><td>void <var 
class="pdparam">(*write_cb)</var>
+<html><head><meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1"><title>JEMALLOC</title><meta name="generator" 
content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" 
text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div 
class="refentry"><a name="idp59107984"></a><div class="titlepage"></div><div 
class="refnamediv"><h2>Name</h2><p>jemalloc &#8212; general purpose memory 
allocation functions</p></div><div class="refsect1"><a 
name="library"></a><h2>LIBRARY</h2><p>This manual describes jemalloc 
4.0.4-0-g91010a9e2ebfc84b1ac1ed7fdde3bfed4f65f180.  More information
+    can be found at the <a class="ulink" 
href="http://www.canonware.com/jemalloc/"; target="_top">jemalloc 
website</a>.</p></div><div class="refsynopsisdiv"><h2>SYNOPSIS</h2><div 
class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;<code 
class="filename">jemalloc/jemalloc.h</code>&gt;</pre><div class="refsect2"><a 
name="idp59233984"></a><h3>Standard API</h3><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">malloc</b>(</code></td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">calloc</b>(</code></td><td>size_t <var 
class="pdparam">number</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">posix_memalign</b>(</code></td><td>void **<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">alignment</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">aligned_alloc</b>(</code></td><td>size_t <var 
class="pdparam">alignment</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">realloc</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">free</b>(</code></td><td>void *<var 
class="pdparam">ptr</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div></div><div class="refsect2"><a 
name="idp59946352"></a><h3>Non-standard API</h3><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">mallocx</b>(</code></td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void *<b 
class="fsfunc">rallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">xallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">extra</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">sallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">dallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">sdallocx</b>(</code></td><td>void *<var 
class="pdparam">ptr</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">nallocx</b>(</code></td><td>size_t <var 
class="pdparam">size</var>, </td></tr><tr><td>�</td><td>int <var 
class="pdparam">flags</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">mallctl</b>(</code></td><td>const char *<var 
class="pdparam">name</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">oldp</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">oldlenp</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">newp</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">newlen</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">mallctlnametomib</b>(</code></td><td>const char *<var 
class="pdparam">name</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">mibp</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">miblenp</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">int <b 
class="fsfunc">mallctlbymib</b>(</code></td><td>const size_t *<var 
class="pdparam">mib</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">miblen</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">oldp</var>, </td></tr><tr><td>�</td><td>size_t *<var 
class="pdparam">oldlenp</var>, </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">newp</var>, </td></tr><tr><td>�</td><td>size_t <var 
class="pdparam">newlen</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">malloc_stats_print</b>(</code></td><td>void <var 
class="pdparam">(*write_cb)</var>
             <code>(</code>void *, const char *<code>)</code>
-          , </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">cbopaque</var>, </td></tr><tr><td>�</td><td>const char *<var 
class="pdparam">opts</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">malloc_usable_size</b>(</code></td><td>const void *<var 
class="pdparam">ptr</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">(*malloc_message)</b>(</code></td><td>void *<var 
class="pdparam">cbopaque</var>, </td></tr><tr><td>�</td><td>const char *<var 
class="pdparam">s</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><p><span class="type">const char 
*</span><code class="varname">malloc_conf</code>;</p></div></div></div><div 
class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><div 
class="refsect2"><a name="idp46115952"></a><h3>Standard API</h3><p>The <code 
class="function">malloc</code>(<em class="parameter"><code></code></em>) 
function allocates
+          , </td></tr><tr><td>�</td><td>void *<var 
class="pdparam">cbopaque</var>, </td></tr><tr><td>�</td><td>const char *<var 
class="pdparam">opts</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">size_t <b 
class="fsfunc">malloc_usable_size</b>(</code></td><td>const void *<var 
class="pdparam">ptr</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><table border="0" 
class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; 
cellpadding: 0;"><tr><td><code class="funcdef">void <b 
class="fsfunc">(*malloc_message)</b>(</code></td><td>void *<var 
class="pdparam">cbopaque</var>, </td></tr><tr><td>�</td><td>const char *<var 
class="pdparam">s</var><code>)</code>;</td></tr></table><div 
class="funcprototype-spacer">�</div><p><span class="type">const char 
*</span><code class="varname">malloc_conf</code>;</p></div></div></div><div 
class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><div 
class="refsect2"><a name="idp59999536"></a><h3>Standard API</h3><p>The <code 
class="function">malloc</code>(<em class="parameter"><code></code></em>) 
function allocates
       <em class="parameter"><code>size</code></em> bytes of uninitialized 
memory.  The allocated
       space is suitably aligned (after possible pointer coercion) for storage
       of any type of object.</p><p>The <code 
class="function">calloc</code>(<em class="parameter"><code></code></em>) 
function allocates
@@ -37,7 +37,7 @@
       <code class="function">malloc</code>(<em 
class="parameter"><code></code></em>) for the specified size.</p><p>The <code 
class="function">free</code>(<em class="parameter"><code></code></em>) function 
causes the
       allocated memory referenced by <em 
class="parameter"><code>ptr</code></em> to be made
       available for future allocations.  If <em 
class="parameter"><code>ptr</code></em> is
-      <code class="constant">NULL</code>, no action occurs.</p></div><div 
class="refsect2"><a name="idp46144704"></a><h3>Non-standard API</h3><p>The 
<code class="function">mallocx</code>(<em class="parameter"><code></code></em>),
+      <code class="constant">NULL</code>, no action occurs.</p></div><div 
class="refsect2"><a name="idp60028192"></a><h3>Non-standard API</h3><p>The 
<code class="function">mallocx</code>(<em class="parameter"><code></code></em>),
       <code class="function">rallocx</code>(<em 
class="parameter"><code></code></em>),
       <code class="function">xallocx</code>(<em 
class="parameter"><code></code></em>),
       <code class="function">sallocx</code>(<em 
class="parameter"><code></code></em>),
@@ -886,8 +886,8 @@
         can cause asynchronous string deallocation.  Furthermore, each
         invocation of this interface can only read or write; simultaneous
         read/write is not supported due to string lifetime limitations.  The
-        name string must nil-terminated and comprised only of characters in the
-        sets recognized
+        name string must be nil-terminated and comprised only of characters in
+        the sets recognized
         by <span class="citerefentry"><span 
class="refentrytitle">isgraph</span>(3)</span> and
         <span class="citerefentry"><span 
class="refentrytitle">isblank</span>(3)</span>.</p></dd><dt><a 
name="thread.prof.active"></a><span class="term">
           
@@ -1743,7 +1743,7 @@
     <code class="function">malloc_stats_print</code>(<em 
class="parameter"><code></code></em>), followed by a string
     pointer.  Please note that doing anything which tries to allocate memory in
     this function is likely to result in a crash or deadlock.</p><p>All 
messages are prefixed by
-    &#8220;<code class="computeroutput">&lt;jemalloc&gt;: 
</code>&#8221;.</p></div><div class="refsect1"><a 
name="return_values"></a><h2>RETURN VALUES</h2><div class="refsect2"><a 
name="idp46949776"></a><h3>Standard API</h3><p>The <code 
class="function">malloc</code>(<em class="parameter"><code></code></em>) and
+    &#8220;<code class="computeroutput">&lt;jemalloc&gt;: 
</code>&#8221;.</p></div><div class="refsect1"><a 
name="return_values"></a><h2>RETURN VALUES</h2><div class="refsect2"><a 
name="idp60833264"></a><h3>Standard API</h3><p>The <code 
class="function">malloc</code>(<em class="parameter"><code></code></em>) and
       <code class="function">calloc</code>(<em 
class="parameter"><code></code></em>) functions return a pointer to the
       allocated memory if successful; otherwise a <code 
class="constant">NULL</code>
       pointer is returned and <code class="varname">errno</code> is set to
@@ -1771,7 +1771,7 @@
       allocation failure.  The <code class="function">realloc</code>(<em 
class="parameter"><code></code></em>)
       function always leaves the original buffer intact when an error occurs.
       </p><p>The <code class="function">free</code>(<em 
class="parameter"><code></code></em>) function returns no
-      value.</p></div><div class="refsect2"><a 
name="idp46974576"></a><h3>Non-standard API</h3><p>The <code 
class="function">mallocx</code>(<em class="parameter"><code></code></em>) and
+      value.</p></div><div class="refsect2"><a 
name="idp60858064"></a><h3>Non-standard API</h3><p>The <code 
class="function">mallocx</code>(<em class="parameter"><code></code></em>) and
       <code class="function">rallocx</code>(<em 
class="parameter"><code></code></em>) functions return a pointer to
       the allocated memory if successful; otherwise a <code 
class="constant">NULL</code>
       pointer is returned to indicate insufficient contiguous memory was
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/doc/jemalloc.xml.in 
new/jemalloc-4.0.4/doc/jemalloc.xml.in
--- old/jemalloc-4.0.3/doc/jemalloc.xml.in      2015-09-25 05:07:46.000000000 
+0200
+++ new/jemalloc-4.0.4/doc/jemalloc.xml.in      2015-10-24 16:56:52.000000000 
+0200
@@ -1418,8 +1418,8 @@
         can cause asynchronous string deallocation.  Furthermore, each
         invocation of this interface can only read or write; simultaneous
         read/write is not supported due to string lifetime limitations.  The
-        name string must nil-terminated and comprised only of characters in the
-        sets recognized
+        name string must be nil-terminated and comprised only of characters in
+        the sets recognized
         by <citerefentry><refentrytitle>isgraph</refentrytitle>
         <manvolnum>3</manvolnum></citerefentry> and
         <citerefentry><refentrytitle>isblank</refentrytitle>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jemalloc-4.0.3/include/jemalloc/internal/jemalloc_internal.h.in 
new/jemalloc-4.0.4/include/jemalloc/internal/jemalloc_internal.h.in
--- old/jemalloc-4.0.3/include/jemalloc/internal/jemalloc_internal.h.in 
2015-09-25 05:07:46.000000000 +0200
+++ new/jemalloc-4.0.4/include/jemalloc/internal/jemalloc_internal.h.in 
2015-10-24 16:56:52.000000000 +0200
@@ -317,6 +317,10 @@
 #define        PAGE            ((size_t)(1U << LG_PAGE))
 #define        PAGE_MASK       ((size_t)(PAGE - 1))
 
+/* Return the page base address for the page containing address a. */
+#define        PAGE_ADDR2BASE(a)                                               
\
+       ((void *)((uintptr_t)(a) & ~PAGE_MASK))
+
 /* Return the smallest pagesize multiple that is >= s. */
 #define        PAGE_CEILING(s)                                                 
\
        (((s) + PAGE_MASK) & ~PAGE_MASK)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/src/arena.c 
new/jemalloc-4.0.4/src/arena.c
--- old/jemalloc-4.0.3/src/arena.c      2015-09-25 05:07:46.000000000 +0200
+++ new/jemalloc-4.0.4/src/arena.c      2015-10-24 16:56:52.000000000 +0200
@@ -2683,10 +2683,16 @@
                        /*
                         * Zero the trailing bytes of the original allocation's
                         * last page, since they are in an indeterminate state.
+                        * There will always be trailing bytes, because ptr's
+                        * offset from the beginning of the run is a multiple of
+                        * CACHELINE in [0 .. PAGE).
                         */
-                       assert(PAGE_CEILING(oldsize) == oldsize);
-                       memset((void *)((uintptr_t)ptr + oldsize), 0,
-                           PAGE_CEILING((uintptr_t)ptr) - (uintptr_t)ptr);
+                       void *zbase = (void *)((uintptr_t)ptr + oldsize);
+                       void *zpast = PAGE_ADDR2BASE((void *)((uintptr_t)zbase +
+                           PAGE));
+                       size_t nzero = (uintptr_t)zpast - (uintptr_t)zbase;
+                       assert(nzero > 0);
+                       memset(zbase, 0, nzero);
                }
 
                size = oldsize + splitsize;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jemalloc-4.0.3/test/integration/xallocx.c 
new/jemalloc-4.0.4/test/integration/xallocx.c
--- old/jemalloc-4.0.3/test/integration/xallocx.c       2015-09-25 
05:07:46.000000000 +0200
+++ new/jemalloc-4.0.4/test/integration/xallocx.c       2015-10-24 
16:56:52.000000000 +0200
@@ -1,5 +1,24 @@
 #include "test/jemalloc_test.h"
 
+/*
+ * Use a separate arena for xallocx() extension/contraction tests so that
+ * internal allocation e.g. by heap profiling can't interpose allocations where
+ * xallocx() would ordinarily be able to extend.
+ */
+static unsigned
+arena_ind(void)
+{
+       static unsigned ind = 0;
+
+       if (ind == 0) {
+               size_t sz = sizeof(ind);
+               assert_d_eq(mallctl("arenas.extend", &ind, &sz, NULL, 0), 0,
+                   "Unexpected mallctl failure creating arena");
+       }
+
+       return (ind);
+}
+
 TEST_BEGIN(test_same_size)
 {
        void *p;
@@ -218,6 +237,7 @@
 
 TEST_BEGIN(test_extra_large)
 {
+       int flags = MALLOCX_ARENA(arena_ind());
        size_t smallmax, large0, large1, large2, huge0, hugemax;
        void *p;
 
@@ -229,61 +249,62 @@
        huge0 = get_huge_size(0);
        hugemax = get_huge_size(get_nhuge()-1);
 
-       p = mallocx(large2, 0);
+       p = mallocx(large2, flags);
        assert_ptr_not_null(p, "Unexpected mallocx() error");
 
-       assert_zu_eq(xallocx(p, large2, 0, 0), large2,
+       assert_zu_eq(xallocx(p, large2, 0, flags), large2,
            "Unexpected xallocx() behavior");
        /* Test size decrease with zero extra. */
-       assert_zu_eq(xallocx(p, large0, 0, 0), large0,
+       assert_zu_eq(xallocx(p, large0, 0, flags), large0,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, smallmax, 0, 0), large0,
+       assert_zu_eq(xallocx(p, smallmax, 0, flags), large0,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, large2, 0, 0), large2,
+       assert_zu_eq(xallocx(p, large2, 0, flags), large2,
            "Unexpected xallocx() behavior");
        /* Test size decrease with non-zero extra. */
-       assert_zu_eq(xallocx(p, large0, large2 - large0, 0), large2,
+       assert_zu_eq(xallocx(p, large0, large2 - large0, flags), large2,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, large1, large2 - large1, 0), large2,
+       assert_zu_eq(xallocx(p, large1, large2 - large1, flags), large2,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, large0, large1 - large0, 0), large1,
+       assert_zu_eq(xallocx(p, large0, large1 - large0, flags), large1,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, smallmax, large0 - smallmax, 0), large0,
+       assert_zu_eq(xallocx(p, smallmax, large0 - smallmax, flags), large0,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, large0, 0, 0), large0,
+       assert_zu_eq(xallocx(p, large0, 0, flags), large0,
            "Unexpected xallocx() behavior");
        /* Test size increase with zero extra. */
-       assert_zu_eq(xallocx(p, large2, 0, 0), large2,
+       assert_zu_eq(xallocx(p, large2, 0, flags), large2,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, huge0, 0, 0), large2,
+       assert_zu_eq(xallocx(p, huge0, 0, flags), large2,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, large0, 0, 0), large0,
+       assert_zu_eq(xallocx(p, large0, 0, flags), large0,
            "Unexpected xallocx() behavior");
        /* Test size increase with non-zero extra. */
-       assert_zu_lt(xallocx(p, large0, huge0 - large0, 0), huge0,
+       assert_zu_lt(xallocx(p, large0, huge0 - large0, flags), huge0,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, large0, 0, 0), large0,
+       assert_zu_eq(xallocx(p, large0, 0, flags), large0,
            "Unexpected xallocx() behavior");
        /* Test size increase with non-zero extra. */
-       assert_zu_eq(xallocx(p, large0, large2 - large0, 0), large2,
+       assert_zu_eq(xallocx(p, large0, large2 - large0, flags), large2,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, large2, 0, 0), large2,
+       assert_zu_eq(xallocx(p, large2, 0, flags), large2,
            "Unexpected xallocx() behavior");
        /* Test size+extra overflow. */
-       assert_zu_lt(xallocx(p, large2, hugemax - large2 + 1, 0), huge0,
+       assert_zu_lt(xallocx(p, large2, hugemax - large2 + 1, flags), huge0,
            "Unexpected xallocx() behavior");
 
-       dallocx(p, 0);
+       dallocx(p, flags);
 }
 TEST_END
 
 TEST_BEGIN(test_extra_huge)
 {
+       int flags = MALLOCX_ARENA(arena_ind());
        size_t largemax, huge0, huge1, huge2, hugemax;
        void *p;
 
@@ -294,56 +315,56 @@
        huge2 = get_huge_size(2);
        hugemax = get_huge_size(get_nhuge()-1);
 
-       p = mallocx(huge2, 0);
+       p = mallocx(huge2, flags);
        assert_ptr_not_null(p, "Unexpected mallocx() error");
 
-       assert_zu_eq(xallocx(p, huge2, 0, 0), huge2,
+       assert_zu_eq(xallocx(p, huge2, 0, flags), huge2,
            "Unexpected xallocx() behavior");
        /* Test size decrease with zero extra. */
-       assert_zu_ge(xallocx(p, huge0, 0, 0), huge0,
+       assert_zu_ge(xallocx(p, huge0, 0, flags), huge0,
            "Unexpected xallocx() behavior");
-       assert_zu_ge(xallocx(p, largemax, 0, 0), huge0,
+       assert_zu_ge(xallocx(p, largemax, 0, flags), huge0,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, huge2, 0, 0), huge2,
+       assert_zu_eq(xallocx(p, huge2, 0, flags), huge2,
            "Unexpected xallocx() behavior");
        /* Test size decrease with non-zero extra. */
-       assert_zu_eq(xallocx(p, huge0, huge2 - huge0, 0), huge2,
+       assert_zu_eq(xallocx(p, huge0, huge2 - huge0, flags), huge2,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, huge1, huge2 - huge1, 0), huge2,
+       assert_zu_eq(xallocx(p, huge1, huge2 - huge1, flags), huge2,
            "Unexpected xallocx() behavior");
-       assert_zu_eq(xallocx(p, huge0, huge1 - huge0, 0), huge1,
+       assert_zu_eq(xallocx(p, huge0, huge1 - huge0, flags), huge1,
            "Unexpected xallocx() behavior");
-       assert_zu_ge(xallocx(p, largemax, huge0 - largemax, 0), huge0,
+       assert_zu_ge(xallocx(p, largemax, huge0 - largemax, flags), huge0,
            "Unexpected xallocx() behavior");
 
-       assert_zu_ge(xallocx(p, huge0, 0, 0), huge0,
+       assert_zu_ge(xallocx(p, huge0, 0, flags), huge0,
            "Unexpected xallocx() behavior");
        /* Test size increase with zero extra. */
-       assert_zu_le(xallocx(p, huge2, 0, 0), huge2,
+       assert_zu_le(xallocx(p, huge2, 0, flags), huge2,
            "Unexpected xallocx() behavior");
-       assert_zu_le(xallocx(p, hugemax+1, 0, 0), huge2,
+       assert_zu_le(xallocx(p, hugemax+1, 0, flags), huge2,
            "Unexpected xallocx() behavior");
 
-       assert_zu_ge(xallocx(p, huge0, 0, 0), huge0,
+       assert_zu_ge(xallocx(p, huge0, 0, flags), huge0,
            "Unexpected xallocx() behavior");
        /* Test size increase with non-zero extra. */
-       assert_zu_le(xallocx(p, huge0, SIZE_T_MAX - huge0, 0), hugemax,
+       assert_zu_le(xallocx(p, huge0, SIZE_T_MAX - huge0, flags), hugemax,
            "Unexpected xallocx() behavior");
 
-       assert_zu_ge(xallocx(p, huge0, 0, 0), huge0,
+       assert_zu_ge(xallocx(p, huge0, 0, flags), huge0,
            "Unexpected xallocx() behavior");
        /* Test size increase with non-zero extra. */
-       assert_zu_le(xallocx(p, huge0, huge2 - huge0, 0), huge2,
+       assert_zu_le(xallocx(p, huge0, huge2 - huge0, flags), huge2,
            "Unexpected xallocx() behavior");
 
-       assert_zu_eq(xallocx(p, huge2, 0, 0), huge2,
+       assert_zu_eq(xallocx(p, huge2, 0, flags), huge2,
            "Unexpected xallocx() behavior");
        /* Test size+extra overflow. */
-       assert_zu_le(xallocx(p, huge2, hugemax - huge2 + 1, 0), hugemax,
+       assert_zu_le(xallocx(p, huge2, hugemax - huge2 + 1, flags), hugemax,
            "Unexpected xallocx() behavior");
 
-       dallocx(p, 0);
+       dallocx(p, flags);
 }
 TEST_END
 
@@ -388,12 +409,13 @@
 static void
 test_zero(size_t szmin, size_t szmax)
 {
+       int flags = MALLOCX_ARENA(arena_ind()) | MALLOCX_ZERO;
        size_t sz, nsz;
        void *p;
 #define        FILL_BYTE 0x7aU
 
        sz = szmax;
-       p = mallocx(sz, MALLOCX_ZERO);
+       p = mallocx(sz, flags);
        assert_ptr_not_null(p, "Unexpected mallocx() error");
        assert_false(validate_fill(p, 0x00, 0, sz), "Memory not filled: sz=%zu",
            sz);
@@ -408,14 +430,14 @@
 
        /* Shrink in place so that we can expect growing in place to succeed. */
        sz = szmin;
-       assert_zu_eq(xallocx(p, sz, 0, MALLOCX_ZERO), sz,
+       assert_zu_eq(xallocx(p, sz, 0, flags), sz,
            "Unexpected xallocx() error");
        assert_false(validate_fill(p, FILL_BYTE, 0, sz),
            "Memory not filled: sz=%zu", sz);
 
        for (sz = szmin; sz < szmax; sz = nsz) {
-               nsz = nallocx(sz+1, MALLOCX_ZERO);
-               assert_zu_eq(xallocx(p, sz+1, 0, MALLOCX_ZERO), nsz,
+               nsz = nallocx(sz+1, flags);
+               assert_zu_eq(xallocx(p, sz+1, 0, flags), nsz,
                    "Unexpected xallocx() failure");
                assert_false(validate_fill(p, FILL_BYTE, 0, sz),
                    "Memory not filled: sz=%zu", sz);
@@ -426,7 +448,7 @@
                    "Memory not filled: nsz=%zu", nsz);
        }
 
-       dallocx(p, 0);
+       dallocx(p, flags);
 }
 
 TEST_BEGIN(test_zero_large)


Reply via email to