FreeBSD Manual Pages
ALLOCA(3) BSD Library Functions Manual ALLOCA(3) NAME alloca -- memory allocator LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <stdlib.h> void * alloca(size_t size); DESCRIPTION The alloca() function allocates size bytes of space in the stack frame of the caller. This temporary space is automatically freed on return. RETURN VALUES The alloca() function returns a pointer to the beginning of the allocated space. If the allocation failed, a NULL pointer is returned. SEE ALSO brk(2), calloc(3), getpagesize(3), malloc(3), realloc(3) CAVEATS Few limitations can be mentioned: +o The alloca() function is machine dependent; its use is discouraged. +o The alloca() function is slightly unsafe because it cannot ensure that the pointer returned points to a valid and usable block of mem- ory. The allocation made may exceed the bounds of the stack, or even go further into other objects in memory, and alloca() cannot deter- mine such an error. Avoid alloca() with large unbounded allocations. +o Since alloca() modifies the stack at runtime, it causes problems to certain security features. See security(7) for a discussion. BSD March 21, 2011 BSD
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | CAVEATS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=alloca&sektion=3&manpath=NetBSD+6.0>