From 179a694232c713310bc9bd54e4edef4deb109f1c Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Mon, 20 Mar 2023 12:48:50 +0100 Subject: [PATCH] etnaviv: don't read too much from uniform arrays Fixes: 77af1ca690f ("etnaviv: add disk cache") Reviewed-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_disk_cache.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c b/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c index 4897069..f503f92 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c +++ b/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c @@ -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 -- 2.7.4