Qt: Fix getPixels UAF

This commit is contained in:
Vicki Pfau 2019-09-15 13:27:43 -07:00
parent 0cc8046121
commit 44c9be7060
1 changed files with 5 additions and 4 deletions

View File

@ -221,12 +221,13 @@ QImage CoreController::getPixels() {
const void* pixels;
m_threadContext.core->getPixels(m_threadContext.core, &pixels, &stride);
stride *= BYTES_PER_PIXEL;
buffer.resize(stride * size.height());
memcpy(buffer.data(), pixels, buffer.size());
buffer = QByteArray::fromRawData(static_cast<const char*>(pixels), stride * size.height());
}
return QImage(reinterpret_cast<const uchar*>(buffer.constData()),
QImage image(reinterpret_cast<const uchar*>(buffer.constData()),
size.width(), size.height(), stride, QImage::Format_RGBX8888);
image.bits(); // Cause QImage to detach
return image;
}
bool CoreController::isPaused() {