(find_all_addresses): change code to actually increment buf_size

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@7402 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-11-17 06:10:42 +00:00
parent 57c274d0b1
commit 7fea1f8f7c

View File

@@ -126,7 +126,7 @@ find_all_addresses (krb5_context context,
return -1; return -1;
buf_size = 8192; buf_size = 8192;
do { for (;;) {
buf = malloc(buf_size); buf = malloc(buf_size);
if (buf == NULL) { if (buf == NULL) {
ret = ENOMEM; ret = ENOMEM;
@@ -143,9 +143,11 @@ find_all_addresses (krb5_context context,
* be determined? * be determined?
*/ */
if (ifconf.ifc_len == buf_size) if (ifconf.ifc_len < buf_size)
free (buf); break;
} while (ifconf.ifc_len == buf_size); free (buf);
buf_size *= 2;
}
num = ifconf.ifc_len / ifreq_sz; num = ifconf.ifc_len / ifreq_sz;
res->len = num; res->len = num;