From c2acda26c1e4e0d7ffda9cd985180562f61aa88b Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 17 Apr 2020 12:51:13 -0700 Subject: [PATCH] ao-tools: Use array indexing instead of addition to make gcc-10 happy A struct with a trailing zero-length array (for variable-length data) is treated as a zero-sized object when doing pointer arithmetic, but treated correctly when treated as an array. This generates a warning from gcc-10 load->data + address - load->address while this, which is 'the same', does not: &load->data[address - load->address] Signed-off-by: Keith Packard --- ao-tools/lib/ao-editaltos.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ao-tools/lib/ao-editaltos.c b/ao-tools/lib/ao-editaltos.c index a51b7dbe..602390e3 100644 --- a/ao-tools/lib/ao-editaltos.c +++ b/ao-tools/lib/ao-editaltos.c @@ -56,7 +56,7 @@ rewrite(struct ao_hex_image *load, unsigned address, uint8_t *data, int length) if (address < load->address || load->address + load->length < address + length) return false; - memcpy(load->data + address - load->address, data, length); + memcpy(&load->data[address - load->address], data, length); return true; } -- 2.30.2