diff --git a/src/auth.c b/src/auth.c index 22f090a..6c567e0 100644 --- a/src/auth.c +++ b/src/auth.c @@ -1161,7 +1161,7 @@ unsigned long udpresolve(int af, unsigned char * name, unsigned char * value, un k += 4; if(na > 255) na = 255; /* somebody is very evil */ for (j = 0; j < na; j++) { /* now there should be answers */ - while(buf[k] < 192 && buf[k] !=0 && (k+buf[k]) < len) k+= buf[k]; + while(buf[k] < 192 && buf[k] !=0 && (k+buf[k]+14) < len) k+= (buf[k] + 1); if(!buf[k]) k--; if((k+(af == AF_INET6?28:16)) > len) { break;