summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Shevchenko <abbbbbbbbbb@gmail.com>2014-07-27 13:25:06 +0300
committerArtem Shevchenko <abbbbbbbbbb@gmail.com>2014-07-28 13:30:28 +0200
commit553325abfd988b062195caae280bbf75b8474ca4 (patch)
treea3a0ccc1ab7c72b2c669e2abec090b7be28adbf2
parentaaaba5da2400402c1c739ebd45e3d392eb8dfb86 (diff)
Fix buffer overrun error with some proxy servers
In some cases, depending on the proxy server response, the current implementation of QHttpSocketEngine may write to memory beyond the allocated buffer size. That will trigger undefined behavior on UNIX systems and a buffer overrun exception if compiled with visual studio. Change-Id: I5769d10c56b6a7483d6d94672aa4321287b82651 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
-rw-r--r--src/network/socket/qhttpsocketengine.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp
index 2e920ad69f..0a25815752 100644
--- a/src/network/socket/qhttpsocketengine.cpp
+++ b/src/network/socket/qhttpsocketengine.cpp
@@ -568,9 +568,6 @@ void QHttpSocketEngine::slotSocketReadNotification()
char dummybuffer[4096];
while (d->pendingResponseData) {
int read = d->socket->read(dummybuffer, qMin(sizeof(dummybuffer), (size_t)d->pendingResponseData));
- if (read >= 0)
- dummybuffer[read] = 0;
-
if (read == 0)
return;
if (read == -1) {