mailing list of musl libc
 help / color / mirror / code / Atom feed
4bf2202cb8d015e8f1f21445f0c1a9d8d1ceddf3 blob 507 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
#include <stdlib.h>
#include <errno.h>
#include <string.h>

void *calloc(size_t m, size_t n)
{
	void *p;
	size_t *z;
	if (n && m > (size_t)-1/n) {
		errno = ENOMEM;
		return 0;
	}
	n *= m;
	p = malloc(n);
	if (!p) return 0;

    volatile long long dont_optimize_me = p;
	/* Only do this for non-mmapped chunks */
       if (((size_t *)dont_optimize_me)[-1] & 7) {
		/* Only write words that are not already zero */
		m = (n + sizeof *z - 1)/sizeof *z;
		for (z=p; m; m--, z++) if (*z) *z=0;
	}
	return p;
}
debug log:

solving 22f2c01 ...
found 22f2c01 in https://inbox.vuxu.org/musl/05e2d053cdb7c8726eb0f9bcebbbf048@exys.org/
found 9d57456 in https://git.vuxu.org/mirror/musl/
preparing index
index prepared:
100644 9d5745628bb5667decc76a6a244cb450f39b92d8	src/malloc/calloc.c

applying [1/1] https://inbox.vuxu.org/musl/05e2d053cdb7c8726eb0f9bcebbbf048@exys.org/
diff --git a/src/malloc/calloc.c b/src/malloc/calloc.c
index 9d57456..22f2c01 100644

Checking patch src/malloc/calloc.c...
Applied patch src/malloc/calloc.c cleanly.

index at:
100644 4bf2202cb8d015e8f1f21445f0c1a9d8d1ceddf3	src/malloc/calloc.c

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).