summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ripd
diff options
context:
space:
mode:
authorfriehm <friehm@openbsd.org>2017-07-24 11:00:01 +0000
committerfriehm <friehm@openbsd.org>2017-07-24 11:00:01 +0000
commit064707de76c63b6aa1383e86b88718756cccc566 (patch)
tree20952e81a606127c1617f689805737f28ea66f91 /usr.sbin/ripd
parentReduce NET_LOCK() contention by moving the linktstate and watchdog (diff)
downloadwireguard-openbsd-064707de76c63b6aa1383e86b88718756cccc566.tar.xz
wireguard-openbsd-064707de76c63b6aa1383e86b88718756cccc566.zip
Unify ROUNDUP macros for parsing route messages.
Use the macro from route(8) / ospf6d(8) since it works also with argument 0. OK claudio@
Diffstat (limited to 'usr.sbin/ripd')
-rw-r--r--usr.sbin/ripd/kroute.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/ripd/kroute.c b/usr.sbin/ripd/kroute.c
index 6a602c6e506..424bcfb8aba 100644
--- a/usr.sbin/ripd/kroute.c
+++ b/usr.sbin/ripd/kroute.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kroute.c,v 1.31 2015/09/27 17:32:36 stsp Exp $ */
+/* $OpenBSD: kroute.c,v 1.32 2017/07/24 11:00:01 friehm Exp $ */
/*
* Copyright (c) 2004 Esben Norby <norby@openbsd.org>
@@ -632,8 +632,8 @@ prefixlen2mask(u_int8_t prefixlen)
return (htonl(0xffffffff << (32 - prefixlen)));
}
-#define ROUNDUP(a, size) \
- (((a) & ((size) - 1)) ? (1 + ((a) | ((size) - 1))) : (a))
+#define ROUNDUP(a) \
+ ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
void
get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info)
@@ -644,7 +644,7 @@ get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info)
if (addrs & (1 << i)) {
rti_info[i] = sa;
sa = (struct sockaddr *)((char *)(sa) +
- ROUNDUP(sa->sa_len, sizeof(long)));
+ ROUNDUP(sa->sa_len));
} else
rti_info[i] = NULL;
}