diff options
author | Tom Grennan <tgrennan@vyatta.com> | 2008-04-10 21:56:49 +0000 |
---|---|---|
committer | Tom Grennan <tgrennan@vyatta.com> | 2008-04-10 21:56:49 +0000 |
commit | c1bdabf8dd2f22a33fdc35b70b93e871f179445d (patch) | |
tree | 570e66e842fc556fc643e97aa37e0183ded19f56 /bgpd/bgp_network.c | |
parent | db59fcc9e02b5755a92e4d2913420c1e09e05517 (diff) | |
parent | 9334b80b2c84f33d0d749b4a172f1d87a77a8544 (diff) | |
download | quagga-c1bdabf8dd2f22a33fdc35b70b93e871f179445d.tar.bz2 quagga-c1bdabf8dd2f22a33fdc35b70b93e871f179445d.tar.xz |
Merge branch 'upstream' into hollywood
Conflicts:
ChangeLog
zebra/zebra_rib.c
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r-- | bgpd/bgp_network.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 6b8c8a44..8452545d 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -296,7 +296,7 @@ bgp_socket (struct bgp *bgp, unsigned short port, char *address) req.ai_flags = AI_PASSIVE; req.ai_family = AF_UNSPEC; req.ai_socktype = SOCK_STREAM; - sprintf (port_str, "%d", port); + snprintf (port_str, sizeof(port_str), "%d", port); port_str[sizeof (port_str) - 1] = '\0'; ret = getaddrinfo (address, port_str, &req, &ainfo); @@ -380,11 +380,10 @@ bgp_socket (struct bgp *bgp, unsigned short port, char *address) sin.sin_port = htons (port); socklen = sizeof (struct sockaddr_in); - ret = inet_aton(address, &sin.sin_addr); - - if (ret < 1) + if (address && ((ret = inet_aton(address, &sin.sin_addr)) < 1)) { - zlog_err("bgp_socket: could not parse ip address %s: ", address, safe_strerror (errno)); + zlog_err("bgp_socket: could not parse ip address %s: %s", + address, safe_strerror (errno)); return ret; } #ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN |