1570af302Sopenharmony_ci// commit: 26031da0f83a2a3ed52190077931ee6c18dfd689 2011-02-20
2570af302Sopenharmony_ci// malloc(0) should return unique pointers
3570af302Sopenharmony_ci// (often expected and gnulib replaces malloc if malloc(0) returns 0)
4570af302Sopenharmony_ci#include <stdlib.h>
5570af302Sopenharmony_ci#include "test.h"
6570af302Sopenharmony_ci
7570af302Sopenharmony_ciint main(void)
8570af302Sopenharmony_ci{
9570af302Sopenharmony_ci	void *p = malloc(0);
10570af302Sopenharmony_ci	void *q = malloc(0);
11570af302Sopenharmony_ci	void *r = malloc(0);
12570af302Sopenharmony_ci	if (!p || !q || !r)
13570af302Sopenharmony_ci		t_error("malloc(0) returned NULL\n");
14570af302Sopenharmony_ci	if (p == q || p == r || q == r)
15570af302Sopenharmony_ci		t_error("malloc(0) returned non-unique pointers: %p, %p, %p\n", p, q, r);
16570af302Sopenharmony_ci	free(q);
17570af302Sopenharmony_ci	free(p);
18570af302Sopenharmony_ci	free(r);
19570af302Sopenharmony_ci	return t_status;
20570af302Sopenharmony_ci}
21