blame the caller for the memory allocated by
strdup.
--
/sys/src/libc/port/strdup.c
strdup.c.orig:9,14 - /n/sources/patch/applied/strduptag/strdup.c:9,14
ns = malloc(strlen(s) + 1);
if(ns == 0)
return 0;
-
+ setmalloctag(ns, getcallerpc(&s));
return strcpy(ns, s);
}