diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-12-14 14:24:00 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-12-17 12:50:18 +0000 |
commit | 90d2e3cf6fa1eda7a0a9259514ef3a2809db5ff7 (patch) | |
tree | 0a064e58358c92c282ede34b380c571df6e133b1 /src/gui | |
parent | 845a342432b9ab07fde53b987ef694ecdc5efb62 (diff) |
Prevent copy in texture upload with invalid input
Skip the memcpy when src is null.
Also silences a Codechecker warning.
Change-Id: I5042d725000cb6dff6864408fa9ed9e0ca35145a
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit 796de4f0668cc4b38f9e8653a0b2f53f0b3423b9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/rhi/qrhivulkan.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/rhi/qrhivulkan.cpp b/src/gui/rhi/qrhivulkan.cpp index f867781d8b..232b1be408 100644 --- a/src/gui/rhi/qrhivulkan.cpp +++ b/src/gui/rhi/qrhivulkan.cpp @@ -2923,8 +2923,10 @@ void QRhiVulkan::prepareUploadSubres(QVkTexture *texD, int layer, int level, qWarning("Invalid texture upload for %p layer=%d mip=%d", texD, layer, level); } - memcpy(reinterpret_cast<char *>(mp) + *curOfs, src, size_t(copySizeBytes)); - *curOfs += aligned(VkDeviceSize(imageSizeBytes), texbufAlign); + if (src) { + memcpy(reinterpret_cast<char *>(mp) + *curOfs, src, size_t(copySizeBytes)); + *curOfs += aligned(VkDeviceSize(imageSizeBytes), texbufAlign); + } } void QRhiVulkan::enqueueResourceUpdates(QVkCommandBuffer *cbD, QRhiResourceUpdateBatch *resourceUpdates) |