diff --git a/Socket/Protocols/Raw/LLAddressing.cc b/Socket/Protocols/Raw/LLAddressing.cc index faec193f9c86f78d9556cedea35ea8d9809cc016..71addad08a07eba5e41b91c346743fe5f4e33ea5 100644 --- a/Socket/Protocols/Raw/LLAddressing.cc +++ b/Socket/Protocols/Raw/LLAddressing.cc @@ -47,6 +47,7 @@ prefix_ std::string senf::LLSocketAddress::interface() if (addr_.sll_ifindex == 0) return std::string(); char name[IFNAMSIZ]; + ::bzero(name, IFNAMSIZ); if (! ::if_indextoname(addr_.sll_ifindex, name)) throw AddressSyntaxException(); return std::string(name); diff --git a/valgrind.sup b/valgrind.sup index 4146e3ee4bdda6ca181f9840cb383a4e1aa4fdd2..6cff8a086d0a1bd2a846f6c99ad5342846761315 100644 --- a/valgrind.sup +++ b/valgrind.sup @@ -101,3 +101,10 @@ Memcheck:Cond fun:inet_ntop } + +{ + if_indextoname-suppression-1 + Memcheck:Param + ioctl(SIOCGIFINDEX) + obj:/lib/ld-2.3.6.so +}