[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/build/uClibc/test/malloc/testmalloc.c b/ap/build/uClibc/test/malloc/testmalloc.c
new file mode 100644
index 0000000..42707d2
--- /dev/null
+++ b/ap/build/uClibc/test/malloc/testmalloc.c
@@ -0,0 +1,101 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+struct list {
+	struct list *next;
+};
+
+int main(void)
+{
+	int z=999;
+	int *y=&z;
+	int *x=NULL;
+	struct list *save;
+	struct list *lp;
+	int i;
+
+
+	printf("pointer to x is %p\n", x);
+	printf("pointer to y is %p\n", y);
+	x=malloc(sizeof(int)*2000);
+	printf("pointer to x is %p\n", x);
+	y=malloc(sizeof(int)*100);
+	printf("pointer to y is %p\n", y);
+	free(x);
+	free(y);
+	printf("about to free(0)\n");
+	free(0);
+
+	x=malloc(13);
+	printf("x = %p\n", x);
+	memcpy(x, "Small string", 13);
+	printf("0x%p test string1: %s\n", x, (char *)x);
+	y = realloc(x, 36);
+	printf("0x%p test string1: %s\n", y, (char *)y);
+	memcpy(y, "********** Larger string **********", 36);
+	printf("0x%p test string2: %s\n", y, (char *)y);
+	free(y);
+
+
+	printf("Allocate 100 nodes 500 bytes each\n");
+	save = 0;
+	for (i=0; i<100; i++) {
+		lp = malloc(500);
+		if (lp == 0) {
+			printf("loop 1: malloc returned 0\n");
+			goto Failed;
+		}
+		lp->next = save;
+		save = lp;
+	}
+
+	printf("freeing 100 nodes\n");
+	while (save) {
+		lp = save;
+		save = save->next;
+		free(lp);
+	}
+
+	printf("try realloc 100 times \n");
+	lp = 0;
+	for (i=1; i<=100; i++) {
+		lp = realloc(lp, i*200);
+		if (lp == 0) {
+			printf("loop 3: realloc returned 0\n");
+			goto Failed;
+		}
+	}
+	{
+	void *unused_ret = realloc(lp, 0);
+	(void) unused_ret;
+	}
+
+	printf("Allocate another 100 nodes 600 bytes each\n");
+	save = 0;
+	for (i=0; i<100; i++) {
+		lp = malloc(600);
+		if (lp == 0) {
+			printf("loop 2: malloc returned 0\n");
+			goto Failed;
+		}
+		lp->next = save;
+		save = lp;
+	}
+
+	printf("freeing 100 nodes\n");
+	while (save) {
+		lp = save;
+		save = save->next;
+		free(lp);
+	}
+
+
+	printf("alloc test PASSED\n");
+	exit(0);
+
+Failed:
+	printf("!!!!!!!!!!!! alloc test FAILED. !!!!!!!!!!!!!!!\n");
+	exit(1);
+}