ref: 3f0f52ab69a8e821fcd1ac66b8d509ee3074c266
dir: /sys/src/lib9p/mem.c/
#include <u.h> #include <libc.h> #include <fcall.h> #include <thread.h> #include <9p.h> void* emalloc9p(ulong sz) { void *v; if((v = malloc(sz)) == nil) sysfatal("out of memory allocating %lud", sz); memset(v, 0, sz); setmalloctag(v, getcallerpc(&sz)); return v; } void* erealloc9p(void *v, ulong sz) { void *nv; if((nv = realloc(v, sz)) == nil && sz != 0) sysfatal("out of memory allocating %lud", sz); if(v == nil) setmalloctag(nv, getcallerpc(&v)); setrealloctag(nv, getcallerpc(&v)); return nv; } char* estrdup9p(char *s) { char *t; if((t = strdup(s)) == nil) sysfatal("out of memory in strdup(%.10s)", s); setmalloctag(t, getcallerpc(&s)); return t; }