Valgrind doesn't have a wrapper for the SIOCETHTOOL ioctl call yet. This
is causing every program that uses libpcap and valgrind to produce some
false warnings because it thinks eval.data was never initialized. A harmless
fix is to just set eval.data to 0 instead of leaving it unitialized before
the SIOCETHTOOL ioctl call sets it.
memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, handle->opt.source, sizeof(ifr.ifr_name));
eval.cmd = cmd;
+ eval.data = 0;
ifr.ifr_data = (caddr_t)&eval;
if (ioctl(handle->fd, SIOCETHTOOL, &ifr) == -1) {
if (errno == EOPNOTSUPP || errno == EINVAL) {