Skip to content

Commit 7e2dac9

Browse files
wooffietargos
authored andcommitted
src: add self-assigment memcpy checks
Fixes: #56718 PR-URL: #56986 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
1 parent 3bc6d62 commit 7e2dac9

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/node_sockaddr-inl.h

+6-2
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)