Skip to content

Commit f64a7b4

Browse files
authored
fix OOB read in BroadcastReply (#3075)
1 parent bd64446 commit f64a7b4

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

gframe/duelclient.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4154,7 +4154,9 @@ void DuelClient::BroadcastReply(evutil_socket_t fd, short events, void * arg) {
41544154
sockaddr_in bc_addr;
41554155
socklen_t sz = sizeof(sockaddr_in);
41564156
char buf[256];
4157-
/*int ret = */recvfrom(fd, buf, 256, 0, (sockaddr*)&bc_addr, &sz);
4157+
int ret = recvfrom(fd, buf, 256, 0, (sockaddr*)&bc_addr, &sz);
4158+
if(ret < (int)sizeof(HostPacket))
4159+
return;
41584160
HostPacket packet;
41594161
std::memcpy(&packet, buf, sizeof packet);
41604162
HostPacket* pHP = &packet;

0 commit comments

Comments
 (0)