aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_kicknorejoin.cpp
diff options
context:
space:
mode:
authorGravatar attilamolnar2012-09-30 01:10:57 +0200
committerGravatar attilamolnar2012-09-30 03:04:07 +0200
commit02859be56d43bcece02aab350e02bc95ed1bf446 (patch)
treebbb68a91e26f4502c22047ad2b26ed8918c5fbb1 /src/modules/m_kicknorejoin.cpp
parentFixed 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.cpp5
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));
}
}