浏览代码

net: Fix potential empty DHCP Parameter Request List

Can't get IP address with dhcp due to the dhcp server not
allow the empty param list request under some network env

This patch is based on Gray Remlin's initial patch.

Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Gray Remlin <g_remlin@rocketmail.com>
Jason Liu 14 年之前
父节点
当前提交
258ccd6817
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      net/bootp.c

+ 4 - 0
net/bootp.c

@@ -456,6 +456,10 @@ static int DhcpExtended (u8 * e, int message_type, IPaddr_t ServerID, IPaddr_t R
 	*e++  = 42;
 	*e++  = 42;
 	*cnt += 1;
 	*cnt += 1;
 #endif
 #endif
+	/* no options, so back up to avoid sending an empty request list */
+	if (*cnt == 0)
+		e -= 2;
+
 	*e++  = 255;		/* End of the list */
 	*e++  = 255;		/* End of the list */
 
 
 	/* Pad to minimal length */
 	/* Pad to minimal length */