Function jemalloc_sys::realloc
source · pub unsafe extern "C" fn realloc(
ptr: *mut c_void,
size: size_t
) -> *mut c_void
Expand description
Resizes the previously-allocated memory region referenced by ptr
to
size
bytes.
Deallocates the old object pointed to by ptr
and returns a pointer to
a new object that has the size specified by size
. The contents of the
new object are the same as that of the old object prior to deallocation,
up to the lesser of the new and old sizes.
The memory in the new object beyond the size of the old object is uninitialized.
The returned pointer to a new object may have the same value as a
pointer to the old object, but realloc
may move the memory
allocation, resulting in a different return value than ptr
.
If ptr
is null, realloc
behaves identically to malloc
for the
specified size.
If the size of the space requested is zero, the behavior is implementation-defined: either a null pointer is returned, or the behavior is as if the size were some nonzero value, except that the returned pointer shall not be used to access an object # Errors
Errors
If memory for the new object cannot be allocated, the old object is not
deallocated, its value is unchanged, realloc
returns null, and
errno
is set to ENOMEM
.
Safety
The behavior is undefined if:
ptr
does not match a pointer previously returned by the memory allocation functions of this crate, or- the memory region referenced by
ptr
has been deallocated.