From 0804560126832633b217c21bf295bfbb2b422e30 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 3 Sep 2011 18:48:12 +0000 Subject: [PATCH] Limit scope of recvfrom address. --- nmap_rpc.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nmap_rpc.cc b/nmap_rpc.cc index 2b0314415..a3a168787 100644 --- a/nmap_rpc.cc +++ b/nmap_rpc.cc @@ -519,9 +519,6 @@ void get_rpc_results(Target *target, struct portinfo *scan, struct timeval tv; int res; static char readbuf[512]; - struct sockaddr_storage from; - recvfrom6_t fromlen = sizeof(from); - unsigned short fromport; char *current_msg; unsigned long current_msg_len; @@ -556,6 +553,10 @@ void get_rpc_results(Target *target, struct portinfo *scan, if (sres == -1 && socket_errno() == EINTR) continue; if (udp_rpc_socket >= 0 && FD_ISSET(udp_rpc_socket, &fds_r)) { + struct sockaddr_storage from; + recvfrom6_t fromlen = sizeof(from); + unsigned short fromport; + res = recvfrom(udp_rpc_socket, readbuf, sizeof(readbuf), 0, (struct sockaddr *) &from, &fromlen); if (res < 0) {