}
if (s->fd == -1)
{
- delete s;
+ DELETE(s);
return NULL;
}
/* create new connection object, add to linked list */
ip = new in_addr;
if(dns_aton4_s(ipstring,ip) == NULL)
{
- delete ip;
+ DELETE(ip);
return NULL;
}
return ip;
dns_close(c->fd);
if (l < 12)
{
- delete c;
+ DELETE(c);
return NULL;
}
dns_fill_header(&h,buffer,l - 12);
if (c->id[0] != h.id[0] || c->id[1] != h.id[1])
{
log(DEBUG,"DNS: id mismatch on query");
- delete c;
+ DELETE(c);
return NULL; /* ID mismatch */
}
if ((h.flags1 & FLAGS1_MASK_QR) == 0)
{
log(DEBUG,"DNS: didnt get a query result");
- delete c;
+ DELETE(c);
return NULL;
}
if ((h.flags1 & FLAGS1_MASK_OPCODE) != 0)
{
log(DEBUG,"DNS: got an OPCODE and didnt want one");
- delete c;
+ DELETE(c);
return NULL;
}
if ((h.flags2 & FLAGS2_MASK_RCODE) != 0)
{
log(DEBUG,"DNS lookup failed due to SERVFAIL");
- delete c;
+ DELETE(c);
return NULL;
}
if (h.ancount < 1)
{
log(DEBUG,"DNS: no answers!");
- delete c;
+ DELETE(c);
return NULL;
}
i = 0;
}
if (l - i < 10)
{
- delete c;
+ DELETE(c);
return NULL;
}
dns_fill_rr(&rr,&h.payload[i]);
break;
if (rr.rdlength != 4)
{
- delete c;
+ DELETE(c);
return NULL;
}
memcpy(&alist->ip,&h.payload[i],4);
}
if (l - i < 10)
{
- delete c;
+ DELETE(c);
return NULL;
}
dns_fill_rr(&rr,&h.payload[i]);
res[rr.rdlength] = '\0';
break;
}
- delete c;
+ DELETE(c);
return res;
}
fd = this->myfd;
if (this->myfd == -1)
{
-
+ return false;
}
log(DEBUG,"DNS: ForwardLookupWithFD, fd=%d",this->myfd);
if (ServerInstance && ServerInstance->SE)