From: Jesse Gross Date: Sat, 4 Dec 2010 21:49:50 +0000 (-0800) Subject: capwap: Bind address should be big endian. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56b20c59a3fbfe94dcbb94fa4abfc013630af541;p=openvswitch capwap: Bind address should be big endian. CAPWAP creates a UDP socket that accepts packets from any address using INADDR_ANY. IP addresses should be in network byte order but that constant is in host byte order, so use htonl. However, this is not a real bug since the value of INADDR_ANY is 0. Found with sparse. Signed-off-by: Jesse Gross Acked-by: Ben Pfaff --- diff --git a/datapath/vport-capwap.c b/datapath/vport-capwap.c index 3f6f941f..e17d85fa 100644 --- a/datapath/vport-capwap.c +++ b/datapath/vport-capwap.c @@ -237,7 +237,7 @@ static int capwap_init(void) goto error; sin.sin_family = AF_INET; - sin.sin_addr.s_addr = INADDR_ANY; + sin.sin_addr.s_addr = htonl(INADDR_ANY); sin.sin_port = htons(CAPWAP_DST_PORT); err = kernel_bind(capwap_rcv_socket, (struct sockaddr *)&sin,