Left shift int (1 here) can result in a negative value. This is an undefined behavior according to ISO C99 (6.5.7).
The error message reported by oss-fuzz is: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' This patch fixes it by changing signed int to unsigned int. Reported-at: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11166 Signed-off-by: Yifeng Sun <[email protected]> --- tests/oss-fuzz/ofctl_parse_target.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/oss-fuzz/ofctl_parse_target.c b/tests/oss-fuzz/ofctl_parse_target.c index 8a906400a5cc..fbd91bdd3e81 100644 --- a/tests/oss-fuzz/ofctl_parse_target.c +++ b/tests/oss-fuzz/ofctl_parse_target.c @@ -24,7 +24,7 @@ ofctl_parse_flows__(struct ofputil_flow_mod *fms, size_t n_fms, printf("no usable protocol\n"); } for (i = 0; i < sizeof(enum ofputil_protocol) * CHAR_BIT; i++) { - protocol = 1 << i; + protocol = 1u << i; if (protocol & usable_protocols & OFPUTIL_P_ANY) { break; } -- 2.7.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
