diff --git a/server/wsproxy/master.cc b/server/wsproxy/master.cc index 72ce56c..1eafb29 100644 --- a/server/wsproxy/master.cc +++ b/server/wsproxy/master.cc @@ -21,7 +21,6 @@ void Master::Init(int instance_id, const std::string& remote_ip, int remote_port recv_bufflen_ = 0; last_pong_tick = a8::XGetTickCount(); - recv_buff_ = (char*) malloc(PACK_MAX * 2); tcp_client_ = std::make_shared(); tcp_client_->remote_address = remote_ip; tcp_client_->remote_port = remote_port; @@ -51,8 +50,6 @@ void Master::UnInit() } tcp_client_ = nullptr; recv_bufflen_ = 0; - free(recv_buff_); - recv_buff_ = nullptr; } void Master::Open() @@ -133,7 +130,7 @@ void Master::on_socketread(a8::TcpClient* sender, char* buf, unsigned int len) f8::UdpLog::Instance()->Debug("recvied bad package", {}); } if (offset > 0 && offset < recv_bufflen_) { - memmove(recv_buff_, recv_buff_ + offset, recv_bufflen_ - offset); + memmove(recv_buff_.data(), recv_buff_.data() + offset, recv_bufflen_ - offset); } recv_bufflen_ -= offset; #if 1 diff --git a/server/wsproxy/master.h b/server/wsproxy/master.h index f06cb8b..34f2a05 100644 --- a/server/wsproxy/master.h +++ b/server/wsproxy/master.h @@ -39,7 +39,7 @@ class Master void CheckAlive(); private: - char *recv_buff_ = nullptr; + std::array recv_buff_; unsigned int recv_bufflen_ = 0; std::shared_ptr tcp_client_; f8::TimerWp timer_wp_;