aboutsummaryrefslogtreecommitdiff
path: root/src/socket.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2024-07-29 22:37:04 +0100
committerGravatar Sadie Powell2024-07-29 22:39:19 +0100
commita6feb4df285de7be3e8d05e77c27a65f2a883201 (patch)
tree97b1a0e19c23b2958714addada0b3f8412d01330 /src/socket.cpp
parentMerge branch 'insp4' into master. (diff)
parentImprove the paths picked up by Doxygen. (diff)
Merge branch 'insp4' into master.
Diffstat (limited to 'src/socket.cpp')
-rw-r--r--src/socket.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/socket.cpp b/src/socket.cpp
index d215af574..1b9c05c61 100644
--- a/src/socket.cpp
+++ b/src/socket.cpp
@@ -484,13 +484,21 @@ irc::sockets::cidr_mask::cidr_mask(const std::string& mask)
if (bits_chars == std::string::npos)
{
- sa.from_ip(mask);
+ if (!sa.from_ip(mask))
+ {
+ memset(this, 0, sizeof(*this));
+ return;
+ }
sa2cidr(*this, sa, 128);
}
else
{
unsigned char range = ConvToNum<unsigned char>(mask.substr(bits_chars + 1));
- sa.from_ip(mask.substr(0, bits_chars));
+ if (!sa.from_ip(mask.substr(0, bits_chars)))
+ {
+ memset(this, 0, sizeof(*this));
+ return;
+ }
sa2cidr(*this, sa, range);
}
}