.TH qlibs: alloc 3 .SH NAME alloc \- allocate memory .SH SYNTAX .B #include \(dqalloc.h\(dq char *\fBalloc\fP(\fInew\fR); void \fBalloc_free\fP(\fIx\fR); void \fBalloc_re\fP(&\fIx\fR,\fIold\fR,\fInew\fR); char *\fIx\fR; .br unsigned int \fIold\fR; .br unsigned int \fInew\fR; .SH DESCRIPTION .B alloc allocates enough space from the heap for .I new bytes of data, adequately aligned for any data type. .I new may be 0. .B alloc returns a pointer to the space. If space is not available, .B alloc returns 0, setting .B errno appropriately. .B alloc_free returns space to the heap. .B alloc_re expands the space allocated to .I x from .I old bytes to .I new bytes. It allocates new space, copies .I old bytes from the old space to the new space, returns the old space to the heap, and changes .I x to point to the new space. It then returns 1. If space is not available, .B alloc_re returns 0, leaving the old space alone. .SH "CVE-2005-1513" This version of .B alloc respects .I limits.h to avoid memory resource exhaustion. .SH "SEE ALSO" sbrk(2), malloc(3), error(3)