(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:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user