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(a)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(a)redhat.com>
}
struct lw_nsnap_port_priv {
--
1.9.3
_______________________________________________
libteam mailing list
libteam(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/libteam