Skip to content

Commit 6f2c3b6

Browse files
authored
Merge pull request #9 from YaoZengzeng/memset
memset sockaddr
2 parents ed89efb + b34f09e commit 6f2c3b6

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

source/extensions/filters/listener/kmesh_tlv/kmesh_tlv.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,17 +103,19 @@ ReadOrParseState KmeshTlvFilter::parseBuffer(Network::ListenerFilterBuffer& buff
103103
int len;
104104

105105
if (content_length_ == TLV_TYPE_SERVICE_ADDRESS_IPV4_LEN) {
106-
addr.ss_family = AF_INET;
107106
len = sizeof(struct sockaddr_in);
108107
auto in4 = reinterpret_cast<struct sockaddr_in*>(&addr);
108+
std::memset(in4, 0, len);
109+
addr.ss_family = AF_INET;
109110
std::memcpy(&in4->sin_addr, buf + index_, 4);
110111
uint16_t port = 0;
111112
std::memcpy(&port, buf + index_ + 4, 2);
112113
in4->sin_port = port;
113114
} else {
114-
addr.ss_family = AF_INET6;
115115
len = sizeof(struct sockaddr_in6);
116116
auto in6 = reinterpret_cast<struct sockaddr_in6*>(&addr);
117+
std::memset(in6, 0, len);
118+
addr.ss_family = AF_INET6;
117119
std::memcpy(&in6->sin6_addr, buf + index_, 16);
118120
uint16_t port = 0;
119121
std::memcpy(&port, buf + index_ + 16, 2);

0 commit comments

Comments
 (0)