summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2004-02-17 19:12:59 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2004-02-17 19:12:59 +0000
commitf264acc6f862608f3097a862511f0b4bce298f8b (patch)
treea23e50ab89213a38cf2ac8fb7dc33205ae762fb9
parent90164901d08a6bccdd9a1f67e72f764c4721d976 (diff)
Somehow size needs some time to settle. The direct inline call of attr_error
caused troubles on my test machines which manifested in garbage size values. OK henning@
-rw-r--r--usr.sbin/bgpd/rde.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/bgpd/rde.c b/usr.sbin/bgpd/rde.c
index 9911475c453..3a29605272c 100644
--- a/usr.sbin/bgpd/rde.c
+++ b/usr.sbin/bgpd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.78 2004/02/16 14:26:29 claudio Exp $ */
+/* $OpenBSD: rde.c,v 1.79 2004/02/17 19:12:58 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -344,7 +344,7 @@ int
rde_update_dispatch(struct imsg *imsg)
{
struct rde_peer *peer;
- u_char *p;
+ u_char *p, *emsg;
int pos;
u_int16_t len;
u_int16_t withdrawn_len;
@@ -409,8 +409,8 @@ rde_update_dispatch(struct imsg *imsg)
while (attrpath_len > 0) {
if ((pos = attr_parse(p, attrpath_len, &attrs,
peer->conf.ebgp, conf->as)) < 0) {
- rde_update_err(peer, ERR_UPDATE, subtype,
- attr_error(p, attrpath_len, &subtype, &size), size);
+ emsg = attr_error(p, attrpath_len, &subtype, &size);
+ rde_update_err(peer, ERR_UPDATE, subtype, emsg, size);
aspath_destroy(attrs.aspath);
attr_optfree(&attrs);
return (-1);