From 0d83488d7ad3bfcecedcbb56050a441f483afdb2 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Mon, 2 May 2022 13:39:26 +0100 Subject: [PATCH] few memory issue fixes proposal. wrong delete operator kind and leak. --- source/src/protocol.cpp | 2 +- source/src/server.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/src/protocol.cpp b/source/src/protocol.cpp index 8957c5fbba..f12aef18e8 100644 --- a/source/src/protocol.cpp +++ b/source/src/protocol.cpp @@ -529,7 +529,7 @@ int gmode_parse(const char *list) // convert a list of mode acronyms to a bitmas { loopi(GMODE_NUM) if(!strcasecmp(p, modeacronymnames[i + 1])) res |= 1 << i; } - delete buf; + delete [] buf; return res; } diff --git a/source/src/server.cpp b/source/src/server.cpp index 7b72c3666b..263e19f785 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -4128,7 +4128,11 @@ void process(ENetPacket *packet, int sender, int chan) vi->owner = sender; vi->callmillis = servmillis; MSG_PACKET(msg); - if(!scallvote(vi, msg)) delete vi; + if(!scallvote(vi, msg)) + { + delete vi->action; + delete vi; + } break; }