summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch')
-rw-r--r--net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch b/net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch
new file mode 100644
index 000000000000..cf838c7cb46b
--- /dev/null
+++ b/net-irc/quassel/files/quassel-0.12.2-CVE-2015-8547.patch
@@ -0,0 +1,22 @@
+From 476aaa050f26d6a31494631d172724409e4c569b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Konstantin=20Bl=C3=A4si?= <kblaesi@gmail.com>
+Date: Wed, 21 Oct 2015 03:26:02 +0200
+Subject: [PATCH] Fixes a crash of the core when executing "/op *" in a query.
+
+---
+ src/core/coreuserinputhandler.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/coreuserinputhandler.cpp b/src/core/coreuserinputhandler.cpp
+index 7887a92..73aac48 100644
+--- a/src/core/coreuserinputhandler.cpp
++++ b/src/core/coreuserinputhandler.cpp
+@@ -228,7 +228,7 @@ void CoreUserInputHandler::doMode(const BufferInfo &bufferInfo, const QChar& add
+ if (!isNumber || maxModes == 0) maxModes = 1;
+
+ QStringList nickList;
+- if (nicks == "*") { // All users in channel
++ if (nicks == "*" && bufferInfo.type() == BufferInfo::ChannelBuffer) { // All users in channel
+ const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers();
+ foreach(IrcUser *user, users) {
+ if ((addOrRemove == '+' && !network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode))