From c1f33e8e93f6befbe6823b81f94b97639b142491 Mon Sep 17 00:00:00 2001 From: James Morris Date: Sat, 22 Mar 2003 09:13:14 -0800 Subject: [PATCH] [IPSEC]: Fix parsing of 16-bit ipcomp cpi. --- net/ipv4/xfrm_input.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/xfrm_input.c b/net/ipv4/xfrm_input.c index 337677396020d..f8d5012b6adaf 100644 --- a/net/ipv4/xfrm_input.c +++ b/net/ipv4/xfrm_input.c @@ -39,7 +39,7 @@ static int xfrm_parse_spi(struct sk_buff *skb, u32 *spi, u32 *seq) case IPPROTO_COMP: if (!pskb_may_pull(skb, 4)) return -EINVAL; - *spi = *(u16*)(skb->h.raw + 2); + *spi = ntohl(ntohs(*(u16*)(skb->h.raw + 2))); *seq = 0; return 0; default: @@ -188,7 +188,7 @@ static int xfrm6_parse_spi(struct sk_buff *skb, u8 nexthdr, u32 *spi, u32 *seq) case IPPROTO_COMP: if (!pskb_may_pull(skb, 4)) return -EINVAL; - *spi = *(u16*)(skb->h.raw + 2); + *spi = ntohl(ntohs(*(u16*)(skb->h.raw + 2))); *seq = 0; return 0; default: -- 2.53.0