net: sntp: Check packet length in sntp_handler
Currently, the sntp_handler uses data in the UDP packet regardless of the actual packet size. A OOB read can occur if the packet is too small. Fix it by checking the packet length before extracting seconds from a SNTP packet. Signed-off-by: Francois Berder <fberder@outlook.fr> Reviewed-by: Jerome Forissier <jerome.forissier@arm.com>
This commit is contained in:
committed by
Jerome Forissier
parent
919af6e49b
commit
a38bf2121a
@@ -64,6 +64,9 @@ static void sntp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
|
||||
if (dest != sntp_our_port)
|
||||
return;
|
||||
|
||||
if (len < SNTP_PACKET_LEN)
|
||||
return;
|
||||
|
||||
/*
|
||||
* As the RTC's used in U-Boot support second resolution only
|
||||
* we simply ignore the sub-second field.
|
||||
|
||||
Reference in New Issue
Block a user