diff options
Diffstat (limited to 'lib/libc/net/res_update.c')
-rw-r--r-- | lib/libc/net/res_update.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/libc/net/res_update.c b/lib/libc/net/res_update.c index f17374f..fda6f77 100644 --- a/lib/libc/net/res_update.c +++ b/lib/libc/net/res_update.c @@ -159,6 +159,9 @@ res_update(ns_updrec *rrecp_in) { fprintf(stderr, "res_update: send error for %s\n", rrecp->r_dname); return (n); + } else if (n > sizeof(answer)) { + fprintf(stderr, "res_update: buffer too small\n"); + return (-1); } if (n < HFIXEDSZ) return (-1); @@ -498,7 +501,10 @@ ans=%d, auth=%d, add=%d, rcode=%d\n", if (n < 0) { fprintf(stderr, "res_send: send error, n=%d\n", n); break; - } else + } else if (n > sizeof(answer)) { + fprintf(stderr, "res_send: buffer too small\n"); + break; + } numzones++; } |