Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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>

home | help