Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.17.0
-
3
-
9223372036854775807
Description
________________________________________________________________________________________________________ *** CID 451797: Null pointer dereferences (NULL_RETURNS) /lustre/ptlrpc/nodemap_range.c: 115 in range_create() 109 snprintf(nidstr, sizeof(nidstr), "%s", 110 libcfs_nidstr(start_nid)); 111 112 c = strchr(nidstr, '@'); 113 114 /* net = @<net> */ CID 451797: Null pointer dereferences (NULL_RETURNS) Dereferencing a pointer that might be "NULL" "c" when calling "strscpy". 115 strscpy(net, c, sizeof(net)); 116 117 *c = '\0'; 118 119 /* nidstr = <addr>/<prefix_length> */ 120 snprintf(c, sizeof(nidstr) - strlen(nidstr), "/%u", netmask);
________________________________________________________________________________________________________ *** CID 451795: Integer handling issues (CONSTANT_EXPRESSION_RESULT) /lustre/ptlrpc/nodemap_range.c: 96 in range_create() 90 /* +4 for '/<prefix_length>' */ 91 char nidstr[LNET_NIDSTR_SIZE + 4]; 92 char net[LNET_NIDSTR_SIZE]; 93 char *c; 94 int rc; 95 CID 451795: Integer handling issues (CONSTANT_EXPRESSION_RESULT) "netmask > 999" is always false regardless of the values of its operands. This occurs as the logical operand of "if". 96 if (netmask > 999) { 97 /* If the netmask is somehow more than three characters 98 * then the logic below could truncate it which could 99 * result in creating a valid netmask value from bad 100 * input. 101 * cfs_parse_nidlist() will check whether the netmask