From ff1732dabfb57a7fc636d144ea7f1c076eda292b 2013-08-19 11:14:52 From: vitalyster Date: 2013-08-19 11:14:52 Subject: [PATCH] Merge pull request #44 from vitalyster/master IRC Backend: fix crash when joining room on some servers --- diff --git a/backends/libcommuni/session.cpp b/backends/libcommuni/session.cpp index 8f37e97852c700b681a80bd17e635b5b5a3be307..31ac3d5445342499f5754d34024e081f1e90e324 100644 --- a/backends/libcommuni/session.cpp +++ b/backends/libcommuni/session.cpp @@ -122,13 +122,15 @@ void MyIrcSession::on_disconnected() { bool MyIrcSession::correctNickname(std::string &nickname) { bool flags = 0; - switch(nickname.at(0)) { - case '@': nickname = nickname.substr(1); flags = 1; break; - case '+': nickname = nickname.substr(1); break; - case '~': nickname = nickname.substr(1); break; - case '&': nickname = nickname.substr(1); break; - case '%': nickname = nickname.substr(1); break; - default: break; + if (!nickname.empty()) { + switch(nickname.at(0)) { + case '@': nickname = nickname.substr(1); flags = 1; break; + case '+': nickname = nickname.substr(1); break; + case '~': nickname = nickname.substr(1); break; + case '&': nickname = nickname.substr(1); break; + case '%': nickname = nickname.substr(1); break; + default: break; + } } return flags; }