Hi, glibc's gcvt(1) is documented to be MT-Safe | AS-Safe | AC-Safe. It's an interesting function to be called from a signal handler, where snprintf(3) is not available. But musl implements it as a call to sprintf(3); that doesn't seem safe. $ grepc gcvt . ./include/stdlib.h:char *gcvt(double, int, char *); ./src/stdlib/gcvt.c:char *gcvt(double x, int n, char *b) { sprintf(b, "%.*g", n, x); return b; } Have a lovely day! Alex --