From 83c637aa942882880a73c7c4972c6c53332e0464 Mon Sep 17 00:00:00 2001 From: Kalle Viironen Date: Tue, 17 Apr 2012 16:43:40 +0300 Subject: 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 commit 68b1d5c17aa38d5921bdade2b0e0cb67c6c90513 Author: Kalle Viironen Task-number: QTBUG-18498 Change-Id: I6be4b19baec2f3197537f5e7b61432040ec84ad2 Reviewed-by: Shane Kearns Reviewed-by: Thiago Macieira --- src/corelib/io/qiodevice_p.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/corelib') 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; -- cgit v1.2.3