On Wed, Aug 06, 2014 at 05:49:16PM +0200, Jiri Pirko wrote:
Sizeof will return the size of a pointer, which is not correct intended.
Introduced-by: 672ddfd506 ("teamd: move arp ping link watcher to a separate file") Signed-off-by: Jiri Pirko jiri@resnulli.us
teamd/teamd_link_watch.c | 5 ++--- teamd/teamd_link_watch.h | 2 +- teamd/teamd_lw_arp_ping.c | 2 +- teamd/teamd_lw_nsna_ping.c | 5 +++-- 4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/teamd/teamd_link_watch.c b/teamd/teamd_link_watch.c index 55d81a9..9441bd6 100644 --- a/teamd/teamd_link_watch.c +++ b/teamd/teamd_link_watch.c @@ -64,13 +64,12 @@ int __set_sockaddr(struct sockaddr *sa, socklen_t sa_len, sa_family_t family,
char *__str_sockaddr(struct sockaddr *sa, socklen_t sa_len, sa_family_t family,
char buf[])
char *buf, size_t buflen)
{ int err;
sa->sa_family = family;
- err = getnameinfo(sa, sa_len, buf, sizeof(buf),
NULL, 0, NI_NUMERICHOST);
- err = getnameinfo(sa, sa_len, buf, buflen, NULL, 0, NI_NUMERICHOST); if (err) { teamd_log_err("getnameinfo failed: %s", gai_strerror(err)); return NULL;
diff --git a/teamd/teamd_link_watch.h b/teamd/teamd_link_watch.h index 8b76653..a4d441c 100644 --- a/teamd/teamd_link_watch.h +++ b/teamd/teamd_link_watch.h @@ -45,7 +45,7 @@ struct lw_psr_port_priv { int __set_sockaddr(struct sockaddr *sa, socklen_t sa_len, sa_family_t family, const char *hostname); char *__str_sockaddr(struct sockaddr *sa, socklen_t sa_len, sa_family_t family,
char buf[]);
char *buf, size_t buflen);
static inline bool teamd_link_watch_link_up_differs(struct lw_common_port_priv *common_ppriv, bool new_link_up) diff --git a/teamd/teamd_lw_arp_ping.c b/teamd/teamd_lw_arp_ping.c index 77d6de5..dc7515f 100644 --- a/teamd/teamd_lw_arp_ping.c +++ b/teamd/teamd_lw_arp_ping.c @@ -122,7 +122,7 @@ static char *str_in_addr(struct in_addr *addr)
memcpy(&sin.sin_addr, addr, sizeof(*addr)); return __str_sockaddr((struct sockaddr *) &sin, sizeof(sin), AF_INET,
buf);
buf, sizeof(buf));
It's ok to use sizeof() here since buf is static array.
}
static int lw_ap_sock_open(struct lw_psr_port_priv *psr_ppriv) diff --git a/teamd/teamd_lw_nsna_ping.c b/teamd/teamd_lw_nsna_ping.c index 4b9e52e..468143e 100644 --- a/teamd/teamd_lw_nsna_ping.c +++ b/teamd/teamd_lw_nsna_ping.c @@ -45,8 +45,9 @@ static int set_sockaddr_in6(struct sockaddr_in6 *sin6, const char *hostname) static char *str_sockaddr_in6(struct sockaddr_in6 *sin6) { static char buf[NI_MAXHOST];
- return __str_sockaddr((struct sockaddr *) sin6,
sizeof(*sin6), AF_INET6, buf);
- return __str_sockaddr((struct sockaddr *) sin6, sizeof(*sin6), AF_INET6,
buf, sizeof(buf));
Same here.
No functional change, so Acked-by: Flavio Leitner fbl@redhat.com
}
struct lw_nsnap_port_priv {
1.9.3
libteam mailing list libteam@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/libteam