[PATCH 1/2] osm_prtn_config.c: Sanity check the value of mgroup_flag flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Honggang Li <honli@xxxxxxxxxx>

As all flags are unsigned integer in different size, sanity check the
value before covert the value to unsigned integer with 'strtoul'.

Signed-off-by: Honggang Li <honli@xxxxxxxxxx>
---
 opensm/osm_prtn_config.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/opensm/osm_prtn_config.c b/opensm/osm_prtn_config.c
index f76ad4d4..be81e794 100644
--- a/opensm/osm_prtn_config.c
+++ b/opensm/osm_prtn_config.c
@@ -273,6 +273,20 @@ static int parse_group_flag(unsigned lineno, osm_log_t * p_log,
 {
 	int rc = 0;
 	int len = strlen(flag);
+
+	char *tmp = val;
+	while (NULL != tmp && '\0' != *tmp) {
+		if (!isxdigit(*tmp)) {
+			OSM_LOG(p_log, OSM_LOG_VERBOSE,
+				"PARSE WARN: line %d: "
+				"suspicious val=(%s) detected. "
+				"flag=(%s)\n", lineno, val, flag);
+			return rc;
+		}
+		tmp++;
+	}
+	tmp = NULL;
+
 	if (!strncmp(flag, "mtu", len)) {
 		rc = 1;
 		if (!val || (flags->mtu = strtoul(val, NULL, 0)) == 0)
-- 
2.14.4




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux