diff options
author | Markus Uhlin <markus@nifty-networks.net> | 2025-03-11 00:08:52 +0100 |
---|---|---|
committer | Markus Uhlin <markus@nifty-networks.net> | 2025-03-11 00:08:52 +0100 |
commit | b74ce948d598c2a49d3e4ceef3b06a93b2c33360 (patch) | |
tree | ed5f80b7328b935f1162d91d424212433d01c46e | |
parent | a2aa16d0baef72700fc14a348abace5560a4d7ab (diff) |
Fixed memleak
-rw-r--r-- | FICS/command.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/FICS/command.c b/FICS/command.c index 0add931..48c190f 100644 --- a/FICS/command.c +++ b/FICS/command.c @@ -34,6 +34,7 @@ rscan_news(). Markus Uhlin 24/11/25 Null checks Markus Uhlin 25/03/09 Fixed double free() + Markus Uhlin 25/03/11 Fixed memleak */ #include "stdinclude.h" @@ -572,12 +573,18 @@ process_login(int p, char *loginname) if (!alphastring(loginname)) { pprintf(p, "\nSorry, names can only consist of lower " "and upper case letters. Try again.\n"); + rfree(loginnameii); + loginnameii = NULL; } else if (strlen(loginname) < 3) { pprintf(p, "\nA name should be at least three " "characters long! Try again.\n"); + rfree(loginnameii); + loginnameii = NULL; } else if (strlen(loginname) > 17) { pprintf(p, "\nSorry, names may be at most 17 " "characters long. Try again.\n"); + rfree(loginnameii); + loginnameii = NULL; } else if (in_list(p, L_BAN, loginnameii)) { pprintf(p, "\nPlayer \"%s\" is banned.\n", loginname); rfree(loginnameii); |