Blame SOURCES/0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch

be1f7d
From 45fcc7ad41216a93bafb452f7d7a4507d52722cd Mon Sep 17 00:00:00 2001
be1f7d
From: Michal Schmidt <mschmidt@redhat.com>
be1f7d
Date: Wed, 1 Feb 2023 23:30:52 +0100
be1f7d
Subject: [PATCH 3/3] libibnetdisc: fix printing a possibly non-NUL-terminated
be1f7d
 string
be1f7d
be1f7d
Found by a static check (covscan).
be1f7d
be1f7d
Fixes: d974c4e398d2 ("Fix max length of node description (ibnetdiscover and smpquery)")
be1f7d
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
be1f7d
---
be1f7d
 libibnetdisc/chassis.c | 3 ++-
be1f7d
 1 file changed, 2 insertions(+), 1 deletion(-)
be1f7d
be1f7d
diff --git a/libibnetdisc/chassis.c b/libibnetdisc/chassis.c
be1f7d
index a3ec1d82807c..bc1a8aff8acb 100644
be1f7d
--- a/libibnetdisc/chassis.c
be1f7d
+++ b/libibnetdisc/chassis.c
be1f7d
@@ -597,7 +597,7 @@ static int fill_mellanox_chassis_record(ibnd_node_t * node)
be1f7d
 	int p = 0;
be1f7d
 	ibnd_port_t *port;
be1f7d
 
be1f7d
-	char node_desc[IB_SMP_DATA_SIZE];
be1f7d
+	char node_desc[IB_SMP_DATA_SIZE + 1];
be1f7d
 	char *system_name;
be1f7d
 	char *system_type;
be1f7d
 	char *system_slot_name;
be1f7d
@@ -617,6 +617,7 @@ static int fill_mellanox_chassis_record(ibnd_node_t * node)
be1f7d
 	 */
be1f7d
 
be1f7d
 	memcpy(node_desc, node->nodedesc, IB_SMP_DATA_SIZE);
be1f7d
+	node_desc[IB_SMP_DATA_SIZE] = '\0';
be1f7d
 
be1f7d
 	IBND_DEBUG("fill_mellanox_chassis_record: node_desc:%s \n",node_desc);
be1f7d
 
be1f7d
-- 
be1f7d
2.39.1
be1f7d