diff options
| author | otto <> | 2018-11-18 16:15:18 +0000 |
|---|---|---|
| committer | otto <> | 2018-11-18 16:15:18 +0000 |
| commit | 3f260df0a3b115bc89d93cef66762f54df0df050 (patch) | |
| tree | 8f4e932865189bdd3f6d7c230def20c4842f4c69 /src/lib/libc/stdlib/malloc.3 | |
| parent | 6d27fd93f40dec18f1778594e4e3f59fb538daec (diff) | |
| download | openbsd-3f260df0a3b115bc89d93cef66762f54df0df050.tar.gz openbsd-3f260df0a3b115bc89d93cef66762f54df0df050.tar.bz2 openbsd-3f260df0a3b115bc89d93cef66762f54df0df050.zip | |
Implement malloc_usable_size(); ok millert@ deraadt@ and jmc@ for the man page
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libc/stdlib/malloc.3 | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/src/lib/libc/stdlib/malloc.3 b/src/lib/libc/stdlib/malloc.3 index 35222a15ce..c1776f61cb 100644 --- a/src/lib/libc/stdlib/malloc.3 +++ b/src/lib/libc/stdlib/malloc.3 | |||
| @@ -30,9 +30,9 @@ | |||
| 30 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 30 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 31 | .\" SUCH DAMAGE. | 31 | .\" SUCH DAMAGE. |
| 32 | .\" | 32 | .\" |
| 33 | .\" $OpenBSD: malloc.3,v 1.118 2018/11/08 05:58:21 otto Exp $ | 33 | .\" $OpenBSD: malloc.3,v 1.119 2018/11/18 16:15:18 otto Exp $ |
| 34 | .\" | 34 | .\" |
| 35 | .Dd $Mdocdate: November 8 2018 $ | 35 | .Dd $Mdocdate: November 18 2018 $ |
| 36 | .Dt MALLOC 3 | 36 | .Dt MALLOC 3 |
| 37 | .Os | 37 | .Os |
| 38 | .Sh NAME | 38 | .Sh NAME |
| @@ -43,7 +43,8 @@ | |||
| 43 | .Nm reallocarray , | 43 | .Nm reallocarray , |
| 44 | .Nm recallocarray , | 44 | .Nm recallocarray , |
| 45 | .Nm freezero , | 45 | .Nm freezero , |
| 46 | .Nm aligned_alloc | 46 | .Nm aligned_alloc , |
| 47 | .Nm malloc_usable_size | ||
| 47 | .Nd memory allocation and deallocation | 48 | .Nd memory allocation and deallocation |
| 48 | .Sh SYNOPSIS | 49 | .Sh SYNOPSIS |
| 49 | .In stdlib.h | 50 | .In stdlib.h |
| @@ -63,6 +64,8 @@ | |||
| 63 | .Fn freezero "void *ptr" "size_t size" | 64 | .Fn freezero "void *ptr" "size_t size" |
| 64 | .Ft void * | 65 | .Ft void * |
| 65 | .Fn aligned_alloc "size_t alignment" "size_t size" | 66 | .Fn aligned_alloc "size_t alignment" "size_t size" |
| 67 | .Ft size_t | ||
| 68 | .Fn malloc_usable_size "void *ptr" | ||
| 66 | .Vt char *malloc_options ; | 69 | .Vt char *malloc_options ; |
| 67 | .Sh DESCRIPTION | 70 | .Sh DESCRIPTION |
| 68 | The standard functions | 71 | The standard functions |
| @@ -191,7 +194,7 @@ must be a value such that | |||
| 191 | .Fa size | 194 | .Fa size |
| 192 | is the size of the earlier allocation that returned | 195 | is the size of the earlier allocation that returned |
| 193 | .Fa ptr , | 196 | .Fa ptr , |
| 194 | otherwise the behaviour is undefined. | 197 | otherwise the behavior is undefined. |
| 195 | .Pp | 198 | .Pp |
| 196 | The | 199 | The |
| 197 | .Fn freezero | 200 | .Fn freezero |
| @@ -233,6 +236,25 @@ If | |||
| 233 | is not a multiple of | 236 | is not a multiple of |
| 234 | .Fa alignment , | 237 | .Fa alignment , |
| 235 | behavior is undefined. | 238 | behavior is undefined. |
| 239 | .Pp | ||
| 240 | The | ||
| 241 | .Fn malloc_usable_size | ||
| 242 | function returns the actual size of the allocated memory pointed to by | ||
| 243 | .Va ptr . | ||
| 244 | If | ||
| 245 | .Va ptr | ||
| 246 | is | ||
| 247 | .Dv NULL , | ||
| 248 | it returns 0. | ||
| 249 | If | ||
| 250 | .Va ptr | ||
| 251 | was never returned by an allocation function or freed before, | ||
| 252 | the behavior is undefined. | ||
| 253 | This function should not be relied upon since it exposes some of the internal | ||
| 254 | workings of the | ||
| 255 | .Fn malloc | ||
| 256 | family of functions. | ||
| 257 | Writing beyond the requested size introduces undefined behavior. | ||
| 236 | .Sh RETURN VALUES | 258 | .Sh RETURN VALUES |
| 237 | Upon successful completion, the allocation functions | 259 | Upon successful completion, the allocation functions |
| 238 | return a pointer to the allocated space; otherwise, | 260 | return a pointer to the allocated space; otherwise, |
| @@ -618,7 +640,9 @@ function appeared in | |||
| 618 | .Ox 6.2 . | 640 | .Ox 6.2 . |
| 619 | The | 641 | The |
| 620 | .Fn aligned_alloc | 642 | .Fn aligned_alloc |
| 621 | function appeared in | 643 | and |
| 644 | .Fn malloc_usable_size | ||
| 645 | functions appeared in | ||
| 622 | .Ox 6.5 . | 646 | .Ox 6.5 . |
| 623 | .Sh CAVEATS | 647 | .Sh CAVEATS |
| 624 | When using | 648 | When using |
