mirror of
https://github.com/systemd/systemd.git
synced 2026-08-05 07:30:30 +00:00
debug-generator: use unsigned bit shift for breakpoint flags
Using signed int literal '1' in left shift can lead to undefined
behavior if the shift amount causes overflow of a signed int. Use
UINT32_C(1) since the result is stored in a uint32_t variable.
CID#1568482
Follow-up for e9f781a5a4
This commit is contained in:
@@ -101,7 +101,7 @@ static int parse_breakpoint_from_string(const char *s, uint32_t *ret_breakpoints
|
||||
|
||||
FOREACH_ELEMENT(i, breakpoint_info_table)
|
||||
if (FLAGS_SET(i->validity, BREAKPOINT_DEFAULT) && breakpoint_applies(i, INT_MAX)) {
|
||||
breakpoints |= 1 << i->type;
|
||||
breakpoints |= UINT32_C(1) << i->type;
|
||||
found_default = true;
|
||||
break;
|
||||
}
|
||||
@@ -127,7 +127,7 @@ static int parse_breakpoint_from_string(const char *s, uint32_t *ret_breakpoints
|
||||
}
|
||||
|
||||
if (breakpoint_applies(&breakpoint_info_table[tt], LOG_WARNING))
|
||||
breakpoints |= 1 << tt;
|
||||
breakpoints |= UINT32_C(1) << tt;
|
||||
}
|
||||
|
||||
*ret_breakpoints = breakpoints;
|
||||
|
||||
Reference in New Issue
Block a user