mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 12:41:29 +00:00
Avoid some theoretical null pointer derefs
This commit is contained in:
@@ -1366,7 +1366,9 @@ int FPHost::choose_osscan_ports() {
|
||||
if ((tport = this->target_host->ports.nextPort(tport, &port, IPPROTO_TCP, PORT_OPEN)))
|
||||
this->open_port_tcp = tport->portno;
|
||||
}
|
||||
if (this->target_host->FPR != NULL) {
|
||||
this->target_host->FPR->osscan_opentcpport = this->open_port_tcp;
|
||||
}
|
||||
} else {
|
||||
/* If we don't have an open port, set it to -1 so we don't send probes that
|
||||
* target TCP open ports */
|
||||
@@ -1382,7 +1384,9 @@ int FPHost::choose_osscan_ports() {
|
||||
if (tport->portno == 0)
|
||||
if ((tport = this->target_host->ports.nextPort(tport, &port, IPPROTO_TCP, PORT_CLOSED)))
|
||||
this->closed_port_tcp = tport->portno;
|
||||
if (this->target_host->FPR != NULL) {
|
||||
this->target_host->FPR->osscan_closedtcpport = this->closed_port_tcp;
|
||||
}
|
||||
} else if ((tport = this->target_host->ports.nextPort(NULL, &port, IPPROTO_TCP, PORT_UNFILTERED))) {
|
||||
/* Well, we will settle for unfiltered */
|
||||
this->closed_port_tcp = tport->portno;
|
||||
@@ -1405,7 +1409,9 @@ int FPHost::choose_osscan_ports() {
|
||||
if (tport->portno == 0)
|
||||
if ((tport = this->target_host->ports.nextPort(tport, &port, IPPROTO_UDP, PORT_CLOSED)))
|
||||
this->closed_port_udp = tport->portno;
|
||||
if (this->target_host->FPR != NULL) {
|
||||
this->target_host->FPR->osscan_closedudpport = this->closed_port_udp;
|
||||
}
|
||||
} else if ((tport = this->target_host->ports.nextPort(NULL, &port, IPPROTO_UDP, PORT_UNFILTERED))) {
|
||||
/* Well, we will settle for unfiltered */
|
||||
this->closed_port_udp = tport->portno;
|
||||
|
||||
@@ -499,6 +499,7 @@ static void do_possible_writes() {
|
||||
servI->to_process.pop_front();
|
||||
} else if (!new_reqs.empty()) {
|
||||
tpreq = new_reqs.front();
|
||||
assert(tpreq != NULL);
|
||||
tpreq->first_server = tpreq->curr_server = &*servI;
|
||||
new_reqs.pop_front();
|
||||
}
|
||||
|
||||
@@ -322,6 +322,7 @@ void handle_connect_result(struct npool *ms, struct nevent *nse, enum nse_status
|
||||
int optval;
|
||||
socklen_t optlen = sizeof(int);
|
||||
struct niod *iod = nse->iod;
|
||||
assert(iod != NULL);
|
||||
#if HAVE_OPENSSL
|
||||
int sslerr;
|
||||
int rc = 0;
|
||||
|
||||
@@ -139,6 +139,7 @@ void nsock_proxychain_delete(nsock_proxychain chain) {
|
||||
|
||||
int nsock_pool_set_proxychain(nsock_pool nspool, nsock_proxychain chain) {
|
||||
struct npool *nsp = (struct npool *)nspool;
|
||||
assert(nsp != NULL);
|
||||
|
||||
if (nsp && nsp->px_chain) {
|
||||
nsock_log_error("Invalid call. Existing proxychain on this nsock_pool");
|
||||
|
||||
Reference in New Issue
Block a user