summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
diff options
context:
space:
mode:
authorMichael BrĂ¼ning <michael.bruning@qt.io>2018-11-05 16:16:59 +0100
committerMichael BrĂ¼ning <michael.bruning@qt.io>2018-11-05 16:48:09 +0000
commit33fd7a21ed794e4d89062b9153ff714e642773ff (patch)
tree99025d1e5cecae1249abe99301e74797da49fb6d /chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
parent4a6c45c124a5fc8f60aecd17ee21cbeafe53de4b (diff)
[Backport] Fix for CVE-2018-17466
Pass unpack buffer as explicit parameter to texSubImage. This allows us to override it in the incomplete texture init. Any back-end that used incomplete textures was vulnerable to a bug where the unpack buffer would be used to initialize the incomplete texture. Cherry-picked to the chromium/3538 branch cleanly. Bug: chromium:880906 Change-Id: Ifca9891ecc207a74673fe1e6ef3e0a2118837fb2 Reviewed-on: https://chromium-review.googlesource.com/1227033 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp')
-rw-r--r--chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp b/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
index 4737af9768f..ea2647f4c5c 100644
--- a/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
+++ b/chromium/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp
@@ -525,7 +525,7 @@ gl::Error IncompleteTextureSet::getIncompleteTexture(
face++)
{
ANGLE_TRY(
- t->setSubImage(context, unpack, face, 0, area, GL_RGBA, GL_UNSIGNED_BYTE, color));
+ t->setSubImage(context, unpack, nullptr, face, 0, area, GL_RGBA, GL_UNSIGNED_BYTE, color));
}
}
else if (type == GL_TEXTURE_2D_MULTISAMPLE)
@@ -536,7 +536,7 @@ gl::Error IncompleteTextureSet::getIncompleteTexture(
else
{
ANGLE_TRY(
- t->setSubImage(context, unpack, createType, 0, area, GL_RGBA, GL_UNSIGNED_BYTE, color));
+ t->setSubImage(context, unpack, nullptr, createType, 0, area, GL_RGBA, GL_UNSIGNED_BYTE, color));
}
t->syncState();