diff options
author | Alex Alexander <wired@gentoo.org> | 2010-06-14 17:03:57 +0000 |
---|---|---|
committer | Alex Alexander <wired@gentoo.org> | 2010-06-14 17:03:57 +0000 |
commit | 145041dee4f1dd991dd8d06c6cc2a3a00c225a5d (patch) | |
tree | 3ed8457012dc058ab2770109728d2a81c17236a1 /net-irc/znc/files | |
parent | sync with php-overlay (diff) | |
download | gentoo-2-145041dee4f1dd991dd8d06c6cc2a3a00c225a5d.tar.gz gentoo-2-145041dee4f1dd991dd8d06c6cc2a3a00c225a5d.tar.bz2 gentoo-2-145041dee4f1dd991dd8d06c6cc2a3a00c225a5d.zip |
znc: EAPI 2, fixed security bug #323965
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'net-irc/znc/files')
-rw-r--r-- | net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch b/net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch new file mode 100644 index 000000000000..c41e1fe9ed7b --- /dev/null +++ b/net-irc/znc/files/znc-0.090-null-pointer-dereference-fix.patch @@ -0,0 +1,31 @@ +--- trunk/znc.cpp 2010/06/13 07:58:28 2025 ++++ trunk/znc.cpp 2010/06/13 17:14:52 2026 +@@ -1927,18 +1927,18 @@ + } + + for (CSockManager::const_iterator it = m_Manager.begin(); it != m_Manager.end(); ++it) { ++ CUser *pUser = NULL; + if ((*it)->GetSockName().Left(5) == "IRC::") { +- CIRCSock *p = (CIRCSock *) *it; +- ret[p->GetUser()->GetUserName()].first += p->GetBytesRead(); +- ret[p->GetUser()->GetUserName()].second += p->GetBytesWritten(); +- uiUsers_in += p->GetBytesRead(); +- uiUsers_out += p->GetBytesWritten(); ++ pUser = ((CIRCSock *) *it)->GetUser(); + } else if ((*it)->GetSockName().Left(5) == "USR::") { +- CClient *p = (CClient *) *it; +- ret[p->GetUser()->GetUserName()].first += p->GetBytesRead(); +- ret[p->GetUser()->GetUserName()].second += p->GetBytesWritten(); +- uiUsers_in += p->GetBytesRead(); +- uiUsers_out += p->GetBytesWritten(); ++ pUser = ((CClient*) *it)->GetUser(); ++ } ++ ++ if (pUser) { ++ ret[pUser->GetUserName()].first += (*it)->GetBytesRead(); ++ ret[pUser->GetUserName()].second += (*it)->GetBytesWritten(); ++ uiUsers_in += (*it)->GetBytesRead(); ++ uiUsers_out += (*it)->GetBytesWritten(); + } else { + uiZNC_in += (*it)->GetBytesRead(); + uiZNC_out += (*it)->GetBytesWritten(); |