From f19cd5813551c4288a99f3d3a3602d8036cb1f44 Mon Sep 17 00:00:00 2001 From: "Dmitry D. Chernov" Date: Mon, 1 Jul 2019 08:52:05 +1000 Subject: [PATCH] Fix twice copying of NetworkAddress values in the Endpoint constructor An excessive copying occurred when passing a value to the constructor, before copying it in the member initializer list. --- VoIPController.cpp | 2 +- VoIPController.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VoIPController.cpp b/VoIPController.cpp index d7e76f43..b39755f7 100755 --- a/VoIPController.cpp +++ b/VoIPController.cpp @@ -3954,7 +3954,7 @@ Endpoint::Endpoint(int64_t id, uint16_t port, const IPv4Address& _address, const udpPongCount=0; } -Endpoint::Endpoint(int64_t id, uint16_t port, const NetworkAddress _address, const NetworkAddress _v6address, Type type, unsigned char peerTag[16]) : address(_address), v6address(_v6address){ +Endpoint::Endpoint(int64_t id, uint16_t port, const NetworkAddress& _address, const NetworkAddress& _v6address, Type type, unsigned char peerTag[16]) : address(_address), v6address(_v6address){ this->id=id; this->port=port; this->type=type; diff --git a/VoIPController.h b/VoIPController.h index c658ec06..517174df 100755 --- a/VoIPController.h +++ b/VoIPController.h @@ -137,7 +137,7 @@ namespace tgvoip{ }; Endpoint(int64_t id, uint16_t port, const IPv4Address& address, const IPv6Address& v6address, Type type, unsigned char* peerTag); - Endpoint(int64_t id, uint16_t port, const NetworkAddress address, const NetworkAddress v6address, Type type, unsigned char* peerTag); + Endpoint(int64_t id, uint16_t port, const NetworkAddress& address, const NetworkAddress& v6address, Type type, unsigned char* peerTag); Endpoint(); ~Endpoint(); const NetworkAddress& GetAddress() const;