etnaviv: don't read too much from uniform arrays
Fixes: 77af1ca690
("etnaviv: add disk cache")
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22210>
This commit is contained in:
@@ -100,11 +100,11 @@ retrieve_variant(struct blob_reader *blob, struct etna_shader_variant *v)
|
||||
blob_copy_bytes(blob, v->code, 4 * v->code_size);
|
||||
|
||||
blob_copy_bytes(blob, &v->uniforms.count, sizeof(v->uniforms.count));
|
||||
v->uniforms.contents = malloc(v->uniforms.count * sizeof(v->uniforms.contents));
|
||||
v->uniforms.data = malloc(v->uniforms.count * sizeof(v->uniforms.data));
|
||||
v->uniforms.contents = malloc(v->uniforms.count * sizeof(*v->uniforms.contents));
|
||||
v->uniforms.data = malloc(v->uniforms.count * sizeof(*v->uniforms.data));
|
||||
|
||||
blob_copy_bytes(blob, v->uniforms.contents, v->uniforms.count * sizeof(v->uniforms.contents));
|
||||
blob_copy_bytes(blob, v->uniforms.data, v->uniforms.count * sizeof(v->uniforms.data));
|
||||
blob_copy_bytes(blob, v->uniforms.contents, v->uniforms.count * sizeof(*v->uniforms.contents));
|
||||
blob_copy_bytes(blob, v->uniforms.data, v->uniforms.count * sizeof(*v->uniforms.data));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -116,8 +116,8 @@ store_variant(struct blob *blob, const struct etna_shader_variant *v)
|
||||
blob_write_bytes(blob, v->code, 4 * v->code_size);
|
||||
|
||||
blob_write_bytes(blob, &v->uniforms.count, sizeof(v->uniforms.count));
|
||||
blob_write_bytes(blob, v->uniforms.contents, imm_count * sizeof(v->uniforms.contents));
|
||||
blob_write_bytes(blob, v->uniforms.data, imm_count * sizeof(v->uniforms.data));
|
||||
blob_write_bytes(blob, v->uniforms.contents, imm_count * sizeof(*v->uniforms.contents));
|
||||
blob_write_bytes(blob, v->uniforms.data, imm_count * sizeof(*v->uniforms.data));
|
||||
}
|
||||
|
||||
bool
|
||||
|
Reference in New Issue
Block a user