diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c index 83f06f30f..ffb17fa82 100644 --- a/lib/ofp-parse.c +++ b/lib/ofp-parse.c @@ -1356,7 +1356,7 @@ parse_ofp_group_mod_str__(struct ofputil_group_mod *gm, uint16_t command, if(!strcmp(value, "all")) { gm->group_id = OFPG_ALL; } else { - char *error = str_to_u32(value, &gm->group_id); + error = str_to_u32(value, &gm->group_id); if (error) { goto out; } diff --git a/tests/ofproto.at b/tests/ofproto.at index 3d15fea1a..f4e5321d0 100644 --- a/tests/ofproto.at +++ b/tests/ofproto.at @@ -313,6 +313,11 @@ AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn dump-groups br0], [0], [stdout]) AT_CHECK([STRIP_XIDS stdout], [0], [dnl OFPST_GROUP_DESC reply (OF1.1): ]) + +# Negative test. +AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn del-groups br0 group_id=0xfffffff0], + [1], [], [ovs-ofctl: invalid group id 4294967280 +]) OVS_VSWITCHD_STOP AT_CLEANUP