[Intel-gfx] [PATCH xf86-video-intel 7/8] sna/gen3: Silence compiler warn

Ville Syrjala ville.syrjala at linux.intel.com
Sat Mar 18 13:45:43 UTC 2023


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

../src/sna/kgem_debug_gen3.c:1289:50: warning: ‘%03d’ directive writing between 3 and 10 bytes into a region of size 8 [-Wformat-overflow=]
 1289 |                         sprintf(instr_prefix, "PS%03d", instr);
      |                                                  ^~~~
../src/sna/kgem_debug_gen3.c:1289:47: note: directive argument in the range [0, 1431655764]
 1289 |                         sprintf(instr_prefix, "PS%03d", instr);
      |                                               ^~~~~~~~
../src/sna/kgem_debug_gen3.c:1289:25: note: ‘sprintf’ output between 6 and 13 bytes into a destination of size 10
 1289 |                         sprintf(instr_prefix, "PS%03d", instr);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The compiler is utterly wrong here of course since 'instr'
will at most be (0x1ff + 2 - 1) / 3 ~= 170 (though the hardware
defined max is actually only 123). But let's bump the buffer
size a little bit to shut the compiler up.

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 src/sna/kgem_debug_gen3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/sna/kgem_debug_gen3.c b/src/sna/kgem_debug_gen3.c
index 4a7b1aaaeafa..a52ee61d23f8 100644
--- a/src/sna/kgem_debug_gen3.c
+++ b/src/sna/kgem_debug_gen3.c
@@ -1284,7 +1284,7 @@ gen3_decode_3d_1d(struct kgem *kgem, uint32_t offset)
 		assert(len <= 370);
 		i = 1;
 		for (instr = 0; instr < (len - 1) / 3; instr++) {
-			char instr_prefix[10];
+			char instr_prefix[13];
 
 			sprintf(instr_prefix, "PS%03d", instr);
 			gen3_decode_instruction(data, offset, i, instr_prefix);
-- 
2.39.2



More information about the Intel-gfx mailing list