diff options
author | Kalle Viironen <kalle.viironen@digia.com> | 2012-04-17 16:43:40 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-23 09:45:24 +0200 |
commit | 83c637aa942882880a73c7c4972c6c53332e0464 (patch) | |
tree | b261ed1d40f0ea5baa39dd77c4a507c56475c9aa /src/corelib/io/qiodevice_p.h | |
parent | d5f157c16548770374489a3c566df0e9fc19cc75 (diff) |
Fix bug in qsslsocket peek()
Calling peek() for qsslsocket caused socket data to be copied into
qiodevices buffer and therefore make it unaccessible in qsslsocket.
Cherry picked form 4.8-branch & modified to Qt5 API changes
(int -> qintptr)
Original commits:
commit 621f18955082fc73471e75d1f8c35c2dcd4befeb
Author: Shane Kearns <ext-shane.2.kearns@nokia.com>
commit 68b1d5c17aa38d5921bdade2b0e0cb67c6c90513
Author: Kalle Viironen <kalle.viironen@digia.com>
Task-number: QTBUG-18498
Change-Id: I6be4b19baec2f3197537f5e7b61432040ec84ad2
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qiodevice_p.h')
-rw-r--r-- | src/corelib/io/qiodevice_p.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/corelib/io/qiodevice_p.h b/src/corelib/io/qiodevice_p.h index a510f5390c..4819ec11a0 100644 --- a/src/corelib/io/qiodevice_p.h +++ b/src/corelib/io/qiodevice_p.h @@ -110,6 +110,11 @@ public: first += r; return r; } + int peek(char* target, int size) { + int r = qMin(size, len); + memcpy(target, first, r); + return r; + } char* reserve(int size) { makeSpace(size + len, freeSpaceAtEnd); char* writePtr = first + len; |