diff --git a/clickhouse/columns/ip4.cpp b/clickhouse/columns/ip4.cpp index 8790afb6..78ec5bbe 100644 --- a/clickhouse/columns/ip4.cpp +++ b/clickhouse/columns/ip4.cpp @@ -61,9 +61,10 @@ in_addr ColumnIPv4::operator [] (size_t n) const { std::string ColumnIPv4::AsString(size_t n) const { const auto& addr = this->At(n); + auto tmp_addr = addr; char buf[INET_ADDRSTRLEN]; - const char* ip_str = inet_ntop(AF_INET, &addr, buf, INET_ADDRSTRLEN); + const char* ip_str = inet_ntop(AF_INET, &tmp_addr, buf, INET_ADDRSTRLEN); if (ip_str == nullptr) { throw std::system_error( diff --git a/clickhouse/columns/ip6.cpp b/clickhouse/columns/ip6.cpp index 0d47b5e8..55ba2d44 100644 --- a/clickhouse/columns/ip6.cpp +++ b/clickhouse/columns/ip6.cpp @@ -44,9 +44,10 @@ void ColumnIPv6::Clear() { std::string ColumnIPv6::AsString (size_t n) const { const auto& addr = this->At(n); + auto tmp_addr = addr; char buf[INET6_ADDRSTRLEN]; - const char* ip_str = inet_ntop(AF_INET6, &addr, buf, INET6_ADDRSTRLEN); + const char* ip_str = inet_ntop(AF_INET6, &tmp_addr, buf, INET6_ADDRSTRLEN); if (ip_str == nullptr) { throw std::system_error(