diff options
| author | oy <Tom_Adams@web.de> | 2010-10-25 18:30:35 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-10-25 18:30:35 +0200 |
| commit | 8ca6a28088f805d8f7599beb0fab0e8dc8bd7d9c (patch) | |
| tree | 363a5e8f59eb88529434e58882278d8e6e03fd6b /src/game | |
| parent | 12b8b629edb3acfc92851aa301f15bc9827d812d (diff) | |
| download | zcatch-8ca6a28088f805d8f7599beb0fab0e8dc8bd7d9c.tar.gz zcatch-8ca6a28088f805d8f7599beb0fab0e8dc8bd7d9c.zip | |
parse line on addvote and skip invalid ones
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/server/gamecontext.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index ce3be58f..4d19dd53 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -905,6 +905,15 @@ void CGameContext::ConSetTeam(IConsole::IResult *pResult, void *pUserData) void CGameContext::ConAddVote(IConsole::IResult *pResult, void *pUserData) { CGameContext *pSelf = (CGameContext *)pUserData; + // check for valid option + if(!pSelf->Console()->LineIsValid(pResult->GetString(0))) + { + char aBuf[256]; + str_format(aBuf, sizeof(aBuf), "skipped invalid option '%s'", pResult->GetString(0)); + pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "server", aBuf); + return; + } + int Len = str_length(pResult->GetString(0)); CGameContext::CVoteOption *pOption = (CGameContext::CVoteOption *)pSelf->m_pVoteOptionHeap->Allocate(sizeof(CGameContext::CVoteOption) + Len); |