From 373d2d2682c1324cbcbe9e84a1bf7fdec278f4be Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 27 Aug 2023 21:02:03 +0200 Subject: [PATCH] rendernode-tool: Fix array size Also add an assertion, so things explode properly if we forget to update the array size when adding new nodes, instead of writing random memory. --- tools/gtk-rendernode-tool-info.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/gtk-rendernode-tool-info.c b/tools/gtk-rendernode-tool-info.c index 3e4a9d1738..482f53e117 100644 --- a/tools/gtk-rendernode-tool-info.c +++ b/tools/gtk-rendernode-tool-info.c @@ -29,6 +29,7 @@ #include #include "gtk-rendernode-tool.h" +#define N_NODE_TYPES (GSK_MASK_NODE + 1) static void count_nodes (GskRenderNode *node, unsigned int *counts, @@ -37,6 +38,7 @@ count_nodes (GskRenderNode *node, unsigned int d, dd; counts[gsk_render_node_get_node_type (node)] += 1; + g_assert (gsk_render_node_get_node_type (node) < N_NODE_TYPES); d = 0; switch (gsk_render_node_get_node_type (node)) @@ -157,7 +159,7 @@ static void file_info (const char *filename) { GskRenderNode *node; - unsigned int counts[GSK_MASK_NODE + 1] = { 0, }; + unsigned int counts[N_NODE_TYPES] = { 0, }; unsigned int total = 0; unsigned int namelen = 0; unsigned int depth = 0; -- 2.30.2