diff --git a/src/tcp_address.cpp b/src/tcp_address.cpp index d67392e3..46a2e36d 100644 --- a/src/tcp_address.cpp +++ b/src/tcp_address.cpp @@ -386,7 +386,7 @@ int zmq::tcp_address_t::resolve (const char *name_, bool local_, bool ipv4only_) std::string port_str (delimiter + 1); // Remove square brackets around the address, if any. - if (!addr_str.empty () && addr_str [0] == '[' && + if (addr_str.size () >= 2 && addr_str [0] == '[' && addr_str [addr_str.size () - 1] == ']') addr_str = addr_str.substr (1, addr_str.size () - 2);