aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2025-03-11 00:08:52 +0100
committerMarkus Uhlin <markus@nifty-networks.net>2025-03-11 00:08:52 +0100
commitb74ce948d598c2a49d3e4ceef3b06a93b2c33360 (patch)
treeed5f80b7328b935f1162d91d424212433d01c46e
parenta2aa16d0baef72700fc14a348abace5560a4d7ab (diff)
Fixed memleak
-rw-r--r--FICS/command.c7
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);