diff options
Diffstat (limited to 'lib/mlibc/tests/ansi/calloc.c')
-rw-r--r-- | lib/mlibc/tests/ansi/calloc.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/mlibc/tests/ansi/calloc.c b/lib/mlibc/tests/ansi/calloc.c new file mode 100644 index 0000000..6cfc87d --- /dev/null +++ b/lib/mlibc/tests/ansi/calloc.c @@ -0,0 +1,20 @@ +#include <assert.h> +#include <errno.h> +#include <limits.h> +#include <stdint.h> +#include <stdlib.h> + +int main() { + errno = 0; + void *ptr = calloc((SIZE_MAX / 2) + 2, 2); + assert(!ptr); + assert(errno); + + errno = 0; + ptr = calloc(sizeof(size_t), 10); + assert(ptr); + for(size_t i = 0; i < 10; i++) { + size_t *p = ptr; + assert(!p[i]); + } +} |