From: Vincent Bernat Date: Wed, 11 Dec 2013 10:55:12 +0000 (+0100) Subject: cdp: fix regression in CDP packet building X-Git-Tag: 0.7.8~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7ee3d13d363700877d02e581cccdb0686996341f;p=thirdparty%2Flldpd.git cdp: fix regression in CDP packet building The associativity of the ternary operator was not as expected. Put a bunch of parentheses to fix that. --- diff --git a/src/daemon/cdp.c b/src/daemon/cdp.c index 58a0a84a..a66843c5 100644 --- a/src/daemon/cdp.c +++ b/src/daemon/cdp.c @@ -94,9 +94,9 @@ cdp_send(struct lldpd *global, /* Chassis ID */ if (!( POKE_START_CDP_TLV(CDP_TLV_CHASSIS) && - chassis->c_name? - POKE_BYTES(chassis->c_name, strlen(chassis->c_name)): - POKE_BYTES("", 0) && + (chassis->c_name? + POKE_BYTES(chassis->c_name, strlen(chassis->c_name)): + POKE_BYTES("", 0)) && POKE_END_CDP_TLV)) goto toobig; @@ -136,10 +136,10 @@ cdp_send(struct lldpd *global, /* Port ID */ if (!( POKE_START_CDP_TLV(CDP_TLV_PORT) && - hardware->h_lport.p_descr? - POKE_BYTES(hardware->h_lport.p_descr, - strlen(hardware->h_lport.p_descr)): - POKE_BYTES("", 0) && + (hardware->h_lport.p_descr? + POKE_BYTES(hardware->h_lport.p_descr, + strlen(hardware->h_lport.p_descr)): + POKE_BYTES("", 0)) && POKE_END_CDP_TLV)) goto toobig; @@ -189,9 +189,9 @@ cdp_send(struct lldpd *global, /* Software version */ if (!( POKE_START_CDP_TLV(CDP_TLV_SOFTWARE) && - chassis->c_descr? - POKE_BYTES(chassis->c_descr, strlen(chassis->c_descr)): - POKE_BYTES("", 0) && + (chassis->c_descr? + POKE_BYTES(chassis->c_descr, strlen(chassis->c_descr)): + POKE_BYTES("", 0)) && POKE_END_CDP_TLV)) goto toobig;