Blame SOURCES/0002-osm_helper.c-Fix-lsea_str_fixed_width-OVERRUN-issue.patch

fdfb48
From c6c7973478c07869b99478b44a6d49db6738b5f0 Mon Sep 17 00:00:00 2001
fdfb48
From: Honggang Li <honli@redhat.com>
fdfb48
Date: Tue, 22 Jan 2019 16:02:54 +0800
fdfb48
Subject: [PATCH 2/5] osm_helper.c: Fix lsea_str_fixed_width OVERRUN issue
fdfb48
fdfb48
Issue was found by Coverity.
fdfb48
fdfb48
When (lsea == IB_LINK_SPEED_EXT_ACTIVE_50 == 4), lsea_str_fixed_width[lsea]
fdfb48
will overrun array.
fdfb48
fdfb48
Defect type: OVERRUN
fdfb48
4. opensm-3.3.21/opensm/osm_helper.c:3225: cond_at_least: Checking "lsea == 0" implies that "lsea" is at least 1 on the false branch.
fdfb48
6. opensm-3.3.21/opensm/osm_helper.c:3231: cond_between: Checking "lsea > 4" implies that "lsea" is between 1 and 4 (inclusive) on the false branch.
fdfb48
7. opensm-3.3.21/opensm/osm_helper.c:3233: overrun-local: Overrunning array "lsea_str_fixed_width" of 4 8-byte elements at element index 4 (byte offset 32) using index "lsea" (which evaluates to 4).
fdfb48
//  3231|   	if (lsea > IB_LINK_SPEED_EXT_ACTIVE_50)
fdfb48
//  3232|   		return lsa_str_fixed_width[3];
fdfb48
//  3233|-> 	return lsea_str_fixed_width[lsea];
fdfb48
//  3234|   }
fdfb48
//  3235|
fdfb48
fdfb48
Signed-off-by: Honggang Li <honli@redhat.com>
fdfb48
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
fdfb48
Signed-off-by: Honggang Li <honli@redhat.com>
fdfb48
---
fdfb48
 opensm/osm_helper.c | 1 +
fdfb48
 1 file changed, 1 insertion(+)
fdfb48
fdfb48
diff --git a/opensm/osm_helper.c b/opensm/osm_helper.c
fdfb48
index e62775822014..f1219b225703 100644
fdfb48
--- a/opensm/osm_helper.c
fdfb48
+++ b/opensm/osm_helper.c
fdfb48
@@ -3214,6 +3214,7 @@ static const char *lsea_str_fixed_width[] = {
fdfb48
 	"Std ",
fdfb48
 	"14  ",
fdfb48
 	"25  ",
fdfb48
+	"????",
fdfb48
 	"50"
fdfb48
 };
fdfb48
 
fdfb48
-- 
fdfb48
2.15.0-rc1
fdfb48