diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2004-02-17 19:12:59 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2004-02-17 19:12:59 +0000 |
commit | f264acc6f862608f3097a862511f0b4bce298f8b (patch) | |
tree | a23e50ab89213a38cf2ac8fb7dc33205ae762fb9 | |
parent | 90164901d08a6bccdd9a1f67e72f764c4721d976 (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.c | 8 |
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); |