pan/decode: Validate attribute/varying buffer pointer
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 20 Aug 2019 23:02:38 +0000 (16:02 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 21 Aug 2019 15:40:55 +0000 (08:40 -0700)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/pandecode/decode.c

index 148be10fdc47bd5a95397825821d8e3c00bc2c82..89537e170fea521e5f8db32ee62a4651c066adf1 100644 (file)
@@ -1246,6 +1246,9 @@ pandecode_attributes(const struct pandecode_mapped_memory *mem,
                 pandecode_prop("elements = (%s) | %s", a, pandecode_attr_mode(mode));
                 free(a);
 
+                /* Check the pointer */
+                pandecode_validate_buffer(raw_elements, attr[i].size);
+
                 pandecode_prop("shift = %d", attr[i].shift);
                 pandecode_prop("extra_flags = %d", attr[i].extra_flags);
                 pandecode_prop("stride = 0x%" PRIx32, attr[i].stride);