X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=lib%2Flibnfs-sync.c;h=0a57c7b97e562c1844fd0b183271d1ff8fea2b7f;hb=4b307c17146bd8a0d591c99f1b40b0f0cbc38174;hp=82c09f38e36bb7f6761b33b52b78c98cbbe861c8;hpb=1be803ce7f74e7b57d873e7ea718fd00aaee8f7e;p=deb_libnfs.git diff --git a/lib/libnfs-sync.c b/lib/libnfs-sync.c index 82c09f3..0a57c7b 100644 --- a/lib/libnfs-sync.c +++ b/lib/libnfs-sync.c @@ -18,6 +18,7 @@ * High level api to nfs filesystems */ +#include "config.h" #include #include #include @@ -1226,7 +1227,7 @@ struct nfs_server_list *nfs_find_local_servers(void) 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); @@ -1245,7 +1246,7 @@ struct nfs_server_list *nfs_find_local_servers(void) 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 {