X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Fnfsclient-bcast.c;h=e73cfaff98d92fdb2d257f8e2ed4aa904385e886;hb=8afcdc959f1fe3d4b62566cab0f97135453e3d2c;hp=89434d5561bc303699f0bbb7b9f05e93a74d664d;hpb=1be803ce7f74e7b57d873e7ea718fd00aaee8f7e;p=deb_libnfs.git diff --git a/examples/nfsclient-bcast.c b/examples/nfsclient-bcast.c index 89434d5..e73cfaf 100644 --- a/examples/nfsclient-bcast.c +++ b/examples/nfsclient-bcast.c @@ -18,6 +18,7 @@ /* Example program using the lowlevel raw broadcast interface. */ +#include "config.h" #include #include #include @@ -29,6 +30,7 @@ #include #include #include +#include "libnfs-zdr.h" #include "libnfs.h" #include "libnfs-raw.h" #include "libnfs-private.h" @@ -127,7 +129,7 @@ int main(int argc _U_, char *argv[] _U_) ifc.ifc_buf = NULL; ifc.ifc_len = size; - while (ifc.ifc_len == size) { + while(ifc.ifc_len > (size - sizeof(struct ifreq))) { size *= 2; free(ifc.ifc_buf); @@ -145,7 +147,7 @@ int main(int argc _U_, char *argv[] _U_) char bcdd[16]; ifr = (struct ifreq *)ptr; -#if HAVE_SOCKADDR_LEN +#ifdef HAVE_SOCKADDR_LEN if (ifr->ifr_addr.sa_len > sizeof(struct sockaddr)) { ptr += sizeof(ifr->ifr_name) + ifr->ifr_addr.sa_len; } else {