glsl/blob: clear padding bytes

Since blob is intended for serializing data, it's not a good idea to
leave padding holes with uninitialized data, which may leak heap
contents and hurt compression if the blob is later compressed, like
done by shader cache. Clear it.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Grazvydas Ignotas
2017-03-03 01:59:57 +02:00
committed by Timothy Arceri
parent 61bbb25a08
commit 8cd83a6c81

View File

@@ -70,10 +70,13 @@ align_blob(struct blob *blob, size_t alignment)
{
const size_t new_size = ALIGN(blob->size, alignment);
if (! grow_to_fit (blob, new_size - blob->size))
return false;
if (blob->size < new_size) {
if (!grow_to_fit(blob, new_size - blob->size))
return false;
blob->size = new_size;
memset(blob->data + blob->size, 0, new_size - blob->size);
blob->size = new_size;
}
return true;
}