|
|
- .\" Copyright (c) 1980, 1991 Regents of the University of California.
- .\" All rights reserved.
- .\"
- .\" This code is derived from software contributed to Berkeley by
- .\" the American National Standards Committee X3, on Information
- .\" Processing Systems.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice, this list of conditions and the following disclaimer.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice, this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\" 3. All advertising materials mentioning features or use of this software
- .\" must display the following acknowledgement:
- .\" This product includes software developed by the University of
- .\" California, Berkeley and its contributors.
- .\" 4. Neither the name of the University nor the names of its contributors
- .\" may be used to endorse or promote products derived from this software
- .\" without specific prior written permission.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- .\" SUCH DAMAGE.
- .\"
- .\" from: @(#)malloc.3 6.7 (Berkeley) 6/29/91
- .\" $Id: malloc.3,v 1.1.1.1 1995/10/18 08:42:18 deraadt Exp $
- .\"
- .Dd June 29, 1991
- .Dt MALLOC 3
- .Os BSD 4
- .Sh NAME
- .Nm malloc
- .Nd general memory allocation function
- .Sh SYNOPSIS
- .Fd #include <stdlib.h>
- .Ft void *
- .Fn malloc "size_t size"
- .Sh DESCRIPTION
- The
- .Fn malloc
- function allocates uninitialized space for an object whose
- size is specified by
- .Fa size .
- The
- .Fn malloc
- function maintains multiple lists of free blocks according to size, allocating
- space from the appropriate list.
- .Pp
- The allocated space is
- suitably aligned (after possible pointer
- coercion) for storage of any type of object. If the space is of
- .Em pagesize
- or larger, the memory returned will be page-aligned.
- .Sh RETURN VALUES
- The
- .Fn malloc
- function returns
- a pointer to the allocated space if successful; otherwise
- a null pointer is returned.
- .Sh SEE ALSO
- .Xr brk 2 ,
- .Xr getpagesize 2 ,
- .Xr free 3 ,
- .Xr calloc 3 ,
- .Xr alloca 3 ,
- .Xr realloc 3 ,
- .Xr memory 3
- .Sh STANDARDS
- The
- .Fn malloc
- function conforms to
- .St -ansiC .
- .Sh BUGS
- The current implementation of
- .Xr malloc
- does not always fail gracefully when system
- memory limits are approached.
- It may fail to allocate memory when larger free blocks could be broken
- up, or when limits are exceeded because the size is rounded up.
- It is optimized for sizes that are powers of two.
|