mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 10:37:22 +00:00
ID:355 - Fix formatting warning in get_cmdline_ipaddr()
Commit also adds validation prior casting down to uint8_t.
This commit is contained in:
parent
33f9336e85
commit
d36cfcb817
@ -1255,9 +1255,16 @@ static int
|
|||||||
get_cmdline_ipaddr(char * arg, uint8_t * buf)
|
get_cmdline_ipaddr(char * arg, uint8_t * buf)
|
||||||
{
|
{
|
||||||
uint32_t ip1, ip2, ip3, ip4;
|
uint32_t ip1, ip2, ip3, ip4;
|
||||||
if (sscanf(arg, "%d.%d.%d.%d", &ip1, &ip2, &ip3, &ip4) != 4) {
|
if (sscanf(arg,
|
||||||
|
"%" PRIu32 ".%" PRIu32 ".%" PRIu32 ".%" PRIu32,
|
||||||
|
&ip1, &ip2, &ip3, &ip4) != 4) {
|
||||||
lprintf(LOG_ERR, "Invalid IP address: %s", arg);
|
lprintf(LOG_ERR, "Invalid IP address: %s", arg);
|
||||||
return -1;
|
return (-1);
|
||||||
|
}
|
||||||
|
if (ip1 > UINT8_MAX || ip2 > UINT8_MAX
|
||||||
|
|| ip3 > UINT8_MAX || ip4 > UINT8_MAX) {
|
||||||
|
lprintf(LOG_ERR, "Invalid IP address: %s", arg);
|
||||||
|
return (-1);
|
||||||
}
|
}
|
||||||
buf[0] = (uint8_t)ip1;
|
buf[0] = (uint8_t)ip1;
|
||||||
buf[1] = (uint8_t)ip2;
|
buf[1] = (uint8_t)ip2;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user