summaryrefslogtreecommitdiff
path: root/man/alloc.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/alloc.3')
-rw-r--r--man/alloc.368
1 files changed, 68 insertions, 0 deletions
diff --git a/man/alloc.3 b/man/alloc.3
new file mode 100644
index 0000000..5bd40d2
--- /dev/null
+++ b/man/alloc.3
@@ -0,0 +1,68 @@
+.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)