|
@@ -3008,7 +3008,7 @@ void res_close(void)
|
|
|
char *p1 = (char*) &(_res.nsaddr_list[0]);
|
|
|
int m = 0;
|
|
|
/* free nsaddrs[m] if they do not point to nsaddr_list[x] */
|
|
|
- while (m < ARRAY_SIZE(_res._u._ext.nsaddrs)) {
|
|
|
+ while (m++ < ARRAY_SIZE(_res._u._ext.nsaddrs)) {
|
|
|
char *p2 = (char*)(_res._u._ext.nsaddrs[m]);
|
|
|
if (p2 < p1 || (p2 - p1) > sizeof(_res.nsaddr_list))
|
|
|
free(p2);
|