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
+}