Skip to content

Commit 844a4a8

Browse files
wooffieRafaelGSS
authored andcommitted
src: add self-assigment memcpy checks
Fixes: #56718 PR-URL: #56986 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent a7646e1 commit 844a4a8

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/node_sockaddr-inl.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,16 @@ SocketAddress::SocketAddress(const SocketAddress& addr) {
7979
}
8080

8181
SocketAddress& SocketAddress::operator=(const sockaddr* addr) {
82-
memcpy(&address_, addr, GetLength(addr));
82+
if (reinterpret_cast<const sockaddr*>(&address_) != addr) {
83+
memcpy(&address_, addr, GetLength(addr));
84+
}
8385
return *this;
8486
}
8587

8688
SocketAddress& SocketAddress::operator=(const SocketAddress& addr) {
87-
memcpy(&address_, &addr.address_, addr.length());
89+
if (this != &addr) {
90+
memcpy(&address_, &addr.address_, addr.length());
91+
}
8892
return *this;
8993
}
9094

0 commit comments

Comments
 (0)