From da215fcb9cd3096a3e223c87577d5d4ab8f8518b Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Thu, 8 Sep 2011 20:56:32 +0200 Subject: [PATCH 1/1] Fix core crash Some CTCP requests triggered a bug in the parser; this fixes the issue. --- src/core/ctcpparser.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/core/ctcpparser.cpp b/src/core/ctcpparser.cpp index f4177c6e..b9dc2408 100644 --- a/src/core/ctcpparser.cpp +++ b/src/core/ctcpparser.cpp @@ -250,13 +250,10 @@ void CtcpParser::packedReply(CoreNetwork *net, const QString &bufname, const QLi answerSize += replies.at(i).size(); } - QByteArray quotedReply(answerSize, 0); - int nextPos = 0; - QByteArray &reply = quotedReply; + QByteArray quotedReply; + quotedReply.reserve(answerSize); for(int i = 0; i < replies.count(); i++) { - reply = replies.at(i); - quotedReply.replace(nextPos, reply.size(), reply); - nextPos += reply.size(); + quotedReply.append(replies.at(i)); } params << net->serverEncode(bufname) << quotedReply; -- 2.20.1