summaryrefslogtreecommitdiffstats
path: root/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bsnmp/snmp_mibII/mibII_ipaddr.c')
-rw-r--r--contrib/bsnmp/snmp_mibII/mibII_ipaddr.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c b/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c
index 6ed449f..d1821ec 100644
--- a/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c
+++ b/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Begemot: bsnmp/snmp_mibII/mibII_ipaddr.c,v 1.9 2004/08/06 08:47:02 brandt Exp $
+ * $Begemot: bsnmp/snmp_mibII/mibII_ipaddr.c,v 1.10 2005/10/04 11:21:35 brandt_h Exp $
*
* IP address table. This table is writeable!
*
@@ -84,10 +84,13 @@ create(struct update *upd)
}
bcast.s_addr = upd->addr.s_addr & upd->mask.s_addr;
- if (!(upd->set & UPD_BCAST) || upd->bcast)
- bcast.s_addr |= htonl(0xffffffff & ~ntohl(upd->mask.s_addr));
+ if (!(upd->set & UPD_BCAST) || upd->bcast) {
+ uint32_t tmp = ~ntohl(upd->mask.s_addr);
+ bcast.s_addr |= htonl(0xffffffff & ~tmp);
+ }
- if ((ifa = mib_create_ifa(upd->ifindex, upd->addr, upd->mask, bcast)) == NULL)
+ if ((ifa = mib_create_ifa(upd->ifindex, upd->addr, upd->mask, bcast))
+ == NULL)
return (SNMP_ERR_GENERR);
upd->rb |= RB_CREATE;
OpenPOWER on IntegriCloud