-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
I want to fix #536489 [i|+| ] [znc] znc: Possible crash if a user is
connecting to a server and will be deleted at the same time
debdiff attached:
debian/patches/03-crash-deleted-user.dpatch | 21 +++++++++++++++++++++
znc-0.058/debian/changelog | 13 +++++++++++++
znc-0.058/debian/control | 2 +-
znc-0.058/debian/patches/00list | 1 +
In debian/control I just changed my email address, because the old one
isn't used anymore and I do not get those mails.
Please CC me, I am not subscribed or just ping me on IRC (the-me) if I
am allowed to upload or not.
Thanks.
- --
/*
Mit freundlichem Gruß / With kind regards,
Patrick Matthäi
GNU/Linux Debian Developer
E-Mail: pmatthaei@debian.org
patrick@linux-dev.org
Comment:
Always if we think we are right,
we were maybe wrong.
*/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkpXPIsACgkQ2XA5inpabMfaHACfVa+LR4PMb3tmTLOwyryFr7Dt
IAQAn2QOASj/W9I4E8LvBs9fu9P42WuA
=jX8e
-----END PGP SIGNATURE-----
diff -u znc-0.058/debian/changelog znc-0.058/debian/changelog
--- znc-0.058/debian/changelog
+++ znc-0.058/debian/changelog
@@ -1,3 +1,16 @@
+znc (0.058-2+lenny2) stable; urgency=low
+
+ * Add 03-crash-deleted-user.dpatch, which fixes a possible crash if users are
+ deleted.
+ If a user is deleted while it is trying to connect to an IRC server, the
+ IRC socket wasn't deleted together with the user. At some later point in
+ time, the IRC socket will try to use the user object, which was already
+ freed by now.
+ Closes: #536489
+ * Change my email address.
+
+ -- Patrick Matthäi <pmatthaei@debian.org> Fri, 10 Jul 2009 12:20:16 +0200
+
znc (0.058-2+lenny1) stable-security; urgency=low
* Add 02-webmin-priv-escalation.dpatch which properly handle newlines in
diff -u znc-0.058/debian/control znc-0.058/debian/control
--- znc-0.058/debian/control
+++ znc-0.058/debian/control
@@ -3,7 +3,7 @@
Priority: optional
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 5), dpatch, libssl-dev, libperl-dev
-Maintainer: Patrick Matthäi <patrick.matthaei@web.de>
+Maintainer: Patrick Matthäi <pmatthaei@debian.org>
Standards-Version: 3.8.0
Homepage: http://znc.sourceforge.net/
diff -u znc-0.058/debian/patches/00list znc-0.058/debian/patches/00list
--- znc-0.058/debian/patches/00list
+++ znc-0.058/debian/patches/00list
@@ -2,0 +3 @@
+03-crash-deleted-user.dpatch
only in patch2:
unchanged:
--- znc-0.058.orig/debian/patches/03-crash-deleted-user.dpatch
+++ znc-0.058/debian/patches/03-crash-deleted-user.dpatch
@@ -0,0 +1,21 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 03-crash-deleted-user.dpatch by Uli Schlachter
+##
+## DP: Fix a possible crash if users are deleted.
+
+@DPATCH@
+
+diff -Naur znc-0.058.orig/znc.cpp znc-0.058/znc.cpp
+--- znc-0.058.orig/znc.cpp 2009-07-10 12:23:44.000000000 +0200
++++ znc-0.058/znc.cpp 2009-07-10 12:27:16.000000000 +0200
+@@ -187,7 +187,9 @@
+ #endif
+ m_msUsers.erase(pUser->GetUserName());
+
+- CIRCSock* pIRCSock = pUser->GetIRCSock();
++ // Don't use pUser->GetIRCSock(), as that only returns something if the
++ // CIRCSock is already connected, not when it's still connecting!
++ CIRCSock* pIRCSock = (CIRCSock*) m_Manager.FindSockByName("IRC::" + pUser->GetUserName());
+
+ if (pIRCSock) {
+ m_Manager.DelSockByAddr(pIRCSock);
Attachment:
deb.diff.sig
Description: Binary data