summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-04-11 22:53:54 +0000
committerMike Frysinger <vapier@gentoo.org>2007-04-11 22:53:54 +0000
commit8cb3c9dee2f9762f7b9e9b193c9ffa01f9d25eb3 (patch)
treef6f8e9d5484c4c958cb65d32017258dd62b049ca
parent58f5f42180d51e34050f09be39f3a1be1579e5bb (diff)
test case to make sure realloc() can shrink buffers properly
-rw-r--r--test/malloc/realloc-can-shrink.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/malloc/realloc-can-shrink.c b/test/malloc/realloc-can-shrink.c
new file mode 100644
index 000000000..7df9835e9
--- /dev/null
+++ b/test/malloc/realloc-can-shrink.c
@@ -0,0 +1,17 @@
+/* make sure that realloc() can properly shrink buffers */
+
+#include <stdlib.h>
+
+#define LARGE_BUFFER (1 << 20) /* idea is to span a lot of pages */
+
+int main()
+{
+ int count = 20;
+ char *ptr = NULL;
+ while (count--) {
+ ptr = realloc(ptr, LARGE_BUFFER);
+ ptr = realloc(ptr, 1);
+ }
+ free(ptr);
+ return 0;
+}