mirror of
https://github.com/nmap/nmap.git
synced 2025-12-07 13:11:28 +00:00
Fix an out-of-bounds memory access when parsing PTR records
This commit is contained in:
@@ -1361,7 +1361,7 @@ bool DNS::Factory::ptrToIp(const std::string &ptr, sockaddr_storage &ip)
|
|||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
|
|
||||||
p--;
|
p--;
|
||||||
while (i < sizeof(ip4->sin_addr.s_addr))
|
while (p >= cptr && i < sizeof(ip4->sin_addr.s_addr))
|
||||||
{
|
{
|
||||||
if (*p == '.')
|
if (*p == '.')
|
||||||
{
|
{
|
||||||
@@ -1394,7 +1394,7 @@ bool DNS::Factory::ptrToIp(const std::string &ptr, sockaddr_storage &ip)
|
|||||||
size_t i=0;
|
size_t i=0;
|
||||||
|
|
||||||
p--;
|
p--;
|
||||||
while (i < sizeof(ip6->sin6_addr.s6_addr))
|
while (p >= cptr && i < sizeof(ip6->sin6_addr.s6_addr))
|
||||||
{
|
{
|
||||||
if (*p == '.')
|
if (*p == '.')
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user