QVnc: clip requested screen region to available screen image
Avoid potential oob memory access. Fixes: QTBUG-91770 Change-Id: I34fff1cf8dec5275572a027288b0e8310359d9f8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit c494c1e8754ed13b409133196d9db00bf7e0f2b5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
1873301ced
commit
d4d9b4875e
@ -477,6 +477,9 @@ void QRfbRawEncoder::write()
|
||||
// server->screen()->geometry().height());
|
||||
// }
|
||||
|
||||
const QImage screenImage = client->server()->screenImage();
|
||||
rgn &= screenImage.rect();
|
||||
|
||||
const auto rectsInRegion = rgn.rectCount();
|
||||
|
||||
{
|
||||
@ -492,8 +495,6 @@ void QRfbRawEncoder::write()
|
||||
if (rectsInRegion <= 0)
|
||||
return;
|
||||
|
||||
const QImage screenImage = client->server()->screenImage();
|
||||
|
||||
for (const QRect &tileRect: rgn) {
|
||||
const QRfbRect rect(tileRect.x(), tileRect.y(),
|
||||
tileRect.width(), tileRect.height());
|
||||
|
Loading…
x
Reference in New Issue
Block a user