'\" t .\" Copyright (c) 2012 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH malloc_usable_size 3 2023-07-20 "Linux man-pages 6.05.01" .SH NAME malloc_usable_size \- obtain size of block of memory allocated from heap .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .PP .BI "size_t malloc_usable_size(void *_Nullable " ptr ); .fi .SH DESCRIPTION This function can be used for diagnostics or statistics about allocations from .BR malloc (3) or a related function. .SH RETURN VALUE .BR malloc_usable_size () returns a value no less than the size of the block of allocated memory pointed to by .IR ptr . If .I ptr is NULL, 0 is returned. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR malloc_usable_size () T} Thread safety MT-Safe .TE .sp 1 .SH STANDARDS GNU. .SH CAVEATS The value returned by .BR malloc_usable_size () may be greater than the requested size of the allocation because of various internal implementation details, none of which the programmer should rely on. This function is intended to only be used for diagnostics and statistics; writing to the excess memory without first calling .BR realloc (3) to resize the allocation is not supported. The returned value is only valid at the time of the call. .SH SEE ALSO .BR malloc (3)