From: Anton Persson Date: Thu, 17 Mar 2016 08:38:21 +0000 (+0100) Subject: bootp: Prevent u-boot from using others responses. X-Git-Tag: v2016.05-rc1~151 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=214cc905defa58b2beb57033ebc6e66a2a90d769;p=oweals%2Fu-boot.git bootp: Prevent u-boot from using others responses. In rare circumstances two dhcp clients may generate the same bootp ID. If this happens it is vital that the client also checks the hw address in the received response to prevent IP address conflicts. Signed-off-by: Anton Persson --- diff --git a/net/bootp.c b/net/bootp.c index aefc808391..d7852dbb44 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -132,6 +132,8 @@ static int check_reply_packet(uchar *pkt, unsigned dest, unsigned src, retval = -5; else if (!bootp_match_id(net_read_u32(&bp->bp_id))) retval = -6; + else if (memcmp(bp->bp_chaddr, net_ethaddr, HWL_ETHER) != 0) + retval = -7; debug("Filtering pkt = %d\n", retval);