Skip to content

Commit 52389c2

Browse files
Make code redemption case-insensitive
1 parent ae75324 commit 52389c2

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

src/ChatManager.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,18 @@ void redeemCommand(std::string full, std::vector<std::string>& args, CNSocket* s
723723
return;
724724
}
725725

726-
std::string code = args[1];
726+
// convert string to all lowercase
727+
const char* codeRaw = args[1].c_str();
728+
if (args[1].size() > 256) { // prevent overflow
729+
ChatManager::sendServerMessage(sock, "/redeem: Code too long");
730+
return;
731+
}
732+
733+
char buf[256];
734+
for (int i = 0; i < args[1].size(); i++)
735+
buf[i] = std::tolower(codeRaw[i]);
736+
std::string code(buf, args[1].size());
737+
727738
if (ItemManager::CodeItems.find(code) == ItemManager::CodeItems.end()) {
728739
ChatManager::sendServerMessage(sock, "/redeem: Unknown code");
729740
return;

0 commit comments

Comments
 (0)