ALLOCA(3) NetBSD 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:
⊕ The alloca() function is machine dependent; its use is discouraged.
⊕ 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.
⊕ Since alloca() modifies the stack at runtime, it causes problems to
certain security features. See security(7) for a discussion.
NetBSD 5.0 March 21, 2011 NetBSD 5.0
