diff --git a/src/k_profiles.c b/src/k_profiles.c index e2c2b3401..a97ca1ae9 100644 --- a/src/k_profiles.c +++ b/src/k_profiles.c @@ -595,9 +595,10 @@ boolean PR_IsLocalPlayerGuest(INT32 player) return !(cv_lastprofile[player].value); } +static char rrid_buf[256]; + char *GetPrettyRRID(const unsigned char *bin, boolean brief) { - char *out; size_t i; size_t len = 32; @@ -607,15 +608,13 @@ char *GetPrettyRRID(const unsigned char *bin, boolean brief) if (bin == NULL || len == 0) return NULL; - out = malloc(len*2 + 1); - for (i=0; i> 4]; - out[i*2+1] = "0123456789ABCDEF"[bin[i] & 0x0F]; + rrid_buf[i*2] = "0123456789ABCDEF"[bin[i] >> 4]; + rrid_buf[i*2+1] = "0123456789ABCDEF"[bin[i] & 0x0F]; } - out[len*2] = '\0'; + rrid_buf[len*2] = '\0'; - return out; + return rrid_buf; }