summaryrefslogtreecommitdiff
path: root/lib/ZInit.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ZInit.c')
-rw-r--r--lib/ZInit.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/ZInit.c b/lib/ZInit.c
index 23dd4af..abaa2a4 100644
--- a/lib/ZInit.c
+++ b/lib/ZInit.c
@@ -24,9 +24,6 @@ static const char rcsid_ZInitialize_c[] =
#ifdef HAVE_KRB5
#include <krb5.h>
#endif
-#ifdef HAVE_KRB5_ERR_H
-#include <krb5_err.h>
-#endif
#ifndef INADDR_NONE
#define INADDR_NONE 0xffffffff
@@ -54,7 +51,8 @@ ZInitialize(void)
char addr[4], hostname[NS_MAXDNAME];
struct in_addr servaddr;
struct sockaddr_in sin;
- unsigned int s, sinsize = sizeof(sin);
+ unsigned int sinsize = sizeof(sin);
+ int s;
Code_t code;
ZNotice_t notice;
#ifdef HAVE_KRB5
@@ -244,10 +242,11 @@ struct sockaddr_in ZGetDestAddr (void) {
static int txt_lookup(char *qname, char **result) {
int ret, buflen, left;
void *buf = NULL;
+ void *bufend = NULL;
HEADER *hdr;
unsigned char *p;
char dname[NS_MAXDNAME];
- int queries, answers, stored;
+ int queries, answers;
ret = res_init();
if (ret < 0)
@@ -266,6 +265,7 @@ static int txt_lookup(char *qname, char **result) {
buflen = ret;
left = ret;
+ bufend = buflen + (unsigned char *)buf;
hdr = (HEADER *)buf;
p = buf;
@@ -275,7 +275,7 @@ static int txt_lookup(char *qname, char **result) {
left -= sizeof (HEADER);
while (queries--) {
- ret = dn_expand(buf, buf + buflen, p, dname, sizeof dname);
+ ret = dn_expand(buf, bufend, p, dname, sizeof dname);
if (ret < 0 || (ret + 4) > left)
return -1;
p += ret + 4;
@@ -285,11 +285,10 @@ static int txt_lookup(char *qname, char **result) {
if (!ret || !answers)
return -1;
- stored = 0;
while (answers--) {
int class, type;
- ret = dn_expand(buf, buf + buflen, p, dname, sizeof dname);
+ ret = dn_expand(buf, bufend, p, dname, sizeof dname);
if (ret < 0 || ret > left)
return -1;
p += ret;