hi, it can hardly be considered a memleak since I can see that the
ret value is always checked in parent code (xasprintf() for example) and
fatal() called if it's equal to -1 but the free() call is definitely missing
there.
--- bsd-asprintf.c Tue Dec 5 12:58:12 2006
+++ bsd-asprintf.c.new Thu Sep 13 16:51:40 2007
@@ -55,6 +55,7 @@
if (ret >= 0 && ret < INIT_SZ) { /* succeeded with initial
alloc */
*str = string;
} else if (ret == INT_MAX || ret < 0) { /* Bad length */
+ free(string);
goto fail;
} else { /* bigger than initial, realloc allowing for nul */
len = (size_t)ret + 1;
--
Jan Pechanec