diff options
| author | G. Paul Ziemba <paulz@labn.net> | 2023-08-18 11:13:20 -0700 | 
|---|---|---|
| committer | G. Paul Ziemba <paulz@labn.net> | 2023-08-18 11:13:20 -0700 | 
| commit | 2e6c879e99f6d3436161f7b7dd676a3a5d0c0868 (patch) | |
| tree | b178bbe189143c7e66e14dd19953efe38935c867 /pbrd/pbr_vty.c | |
| parent | 6182675e7ebcfd9d809e5825207bc9d1e83ff4f8 (diff) | |
pbrd: address 230815 coverity: pbr_vty.c pend/strtoul
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
Diffstat (limited to 'pbrd/pbr_vty.c')
| -rw-r--r-- | pbrd/pbr_vty.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/pbrd/pbr_vty.c b/pbrd/pbr_vty.c index 0d6e1afd5b..9643fb955a 100644 --- a/pbrd/pbr_vty.c +++ b/pbrd/pbr_vty.c @@ -441,18 +441,18 @@ DEFPY  (pbr_map_match_dscp,  	}  	unsigned long ul_dscp; -	char *pend; +	char *pend = NULL;  	uint8_t raw_dscp;  	assert(dscp); -	ul_dscp = strtol(dscp, &pend, 0); -	if (*pend) +	ul_dscp = strtoul(dscp, &pend, 0); +	if (pend && *pend)  		raw_dscp = pbr_map_decode_dscp_enum(dscp);  	else  		raw_dscp = ul_dscp << 2;  	if (raw_dscp > PBR_DSFIELD_DSCP) {  		vty_out(vty, "Invalid dscp value: %s%s\n", dscp, -			(pend ? "" : " (numeric value must be in range 0-63)")); +			((pend && *pend) ? "" : " (numeric value must be in range 0-63)"));  		return CMD_WARNING_CONFIG_FAILED;  	} @@ -859,19 +859,19 @@ DEFPY  (pbr_map_action_dscp,  	}  	unsigned long ul_dscp; -	char *pend; +	char *pend = NULL;  	uint8_t raw_dscp;  	assert(dscp); -	ul_dscp = strtol(dscp, &pend, 0); -	if (*pend) +	ul_dscp = strtoul(dscp, &pend, 0); +	if (pend && *pend)  		raw_dscp = pbr_map_decode_dscp_enum(dscp);  	else  		raw_dscp = ul_dscp << 2;  	if (raw_dscp > PBR_DSFIELD_DSCP) {  		vty_out(vty, "Invalid dscp value: %s%s\n", dscp, -			(pend ? "" : " (numeric value must be in range 0-63)")); +			((pend && *pend) ? "" : " (numeric value must be in range 0-63)"));  		return CMD_WARNING_CONFIG_FAILED;  	}  	if (CHECK_FLAG(pbrms->action_bm, PBR_ACTION_DSCP) &&  | 
