In C, the || operator yields 0 or 1, not (as in some other languages) the value of its first nonzero operand.
Found by inspection. Signed-off-by: Ben Pfaff <b...@nicira.com> --- lib/bundle.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bundle.c b/lib/bundle.c index af1be63..5db97d3 100644 --- a/lib/bundle.c +++ b/lib/bundle.c @@ -152,8 +152,8 @@ bundle_check(const struct nx_action_bundle *nab, int max_ports, VLOG_WARN_RL(&rl, "bundle_load action requires at least 16 bit " "destination."); error = ofp_mkerr(OFPET_BAD_ACTION, OFPBAC_BAD_ARGUMENT); - } else { - error = nxm_dst_check(nab->dst, ofs, n_bits, flow) || error; + } else if (!error) { + error = nxm_dst_check(nab->dst, ofs, n_bits, flow); } } -- 1.7.2.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev