diff options
| author | 2012-09-30 01:10:57 +0200 | |
|---|---|---|
| committer | 2012-09-30 03:04:07 +0200 | |
| commit | 02859be56d43bcece02aab350e02bc95ed1bf446 (patch) | |
| tree | bbb68a91e26f4502c22047ad2b26ed8918c5fbb1 /src/modules/m_kicknorejoin.cpp | |
| parent | Fixed issue #303 - fixed Windows build (diff) | |
Fix more undefined behavior caused by referencing the returned buffer by std::string::c_str() when the object is temporary
See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
Diffstat (limited to 'src/modules/m_kicknorejoin.cpp')
| -rw-r--r-- | src/modules/m_kicknorejoin.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/modules/m_kicknorejoin.cpp b/src/modules/m_kicknorejoin.cpp index 520e5b005..7abb9be7b 100644 --- a/src/modules/m_kicknorejoin.cpp +++ b/src/modules/m_kicknorejoin.cpp @@ -86,8 +86,9 @@ public: { if (iter->first == user) { + std::string modeparam = chan->GetModeParameter(&kr); user->WriteNumeric(ERR_DELAYREJOIN, "%s %s :You must wait %s seconds after being kicked to rejoin (+J)", - user->nick.c_str(), chan->name.c_str(), chan->GetModeParameter(&kr).c_str()); + user->nick.c_str(), chan->name.c_str(), modeparam.c_str()); return MOD_RES_DENY; } } @@ -118,7 +119,7 @@ public: dl = new delaylist; kr.ext.set(memb->chan, dl); } - (*dl)[memb->user] = ServerInstance->Time() + atoi(memb->chan->GetModeParameter(&kr).c_str()); + (*dl)[memb->user] = ServerInstance->Time() + ConvToInt(memb->chan->GetModeParameter(&kr)); } } |
