changeset 277:5e9863f8a821 draft

Write the real routing message length, fixing the addition of routes on NetBSD and hopefully OpenBSD.
author Roy Marples <roy@marples.name>
date Wed, 09 Jan 2008 12:34:34 +0000
parents c85a23a9d182
children 56e825a9440a
files interface.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/interface.c	Wed Jan 09 11:45:30 2008 +0000
+++ b/interface.c	Wed Jan 09 12:34:34 2008 +0000
@@ -629,8 +629,8 @@
 	ADDADDR (netmask);
 #undef ADDADDR
 
-	rtm.hdr.rtm_msglen = sizeof (rtm);
-	if (write (s, &rtm, sizeof (rtm)) == -1) {
+	rtm.hdr.rtm_msglen = l = bp - (char *)&rtm;
+	if (write (s, &rtm, l) == -1) {
 		/* Don't report error about routes already existing */
 		if (errno != EEXIST)
 			logger (LOG_ERR, "write: %s", strerror (errno));