cuserid: support invocation with a null pointer argument
[musl] / src / legacy / cuserid.c
index 4e78798..fd7832e 100644 (file)
@@ -5,10 +5,12 @@
 
 char *cuserid(char *buf)
 {
+       static char usridbuf[L_cuserid];
        struct passwd pw, *ppw;
        long pwb[256];
        if (getpwuid_r(geteuid(), &pw, (void *)pwb, sizeof pwb, &ppw))
                return 0;
+       if (!buf) buf = usridbuf;
        snprintf(buf, L_cuserid, "%s", pw.pw_name);
        return buf;
 }