From 28b2c32dc7bb5eb9fe24eba40548afdfa9bffb54 Mon Sep 17 00:00:00 2001 From: Zhenhua Zhang Date: Wed, 23 Jun 2010 17:46:37 +0800 Subject: [PATCH] ppp: Fix incorrect packet length for little-endian packet->length is in TCP/IP network byte order. It needs to call ntohs() to convert to host byte order, which is little-endian. --- gatchat/ppp_ipcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c index a1eacdfc..0b3c3817 100644 --- a/gatchat/ppp_ipcp.c +++ b/gatchat/ppp_ipcp.c @@ -281,7 +281,7 @@ static enum rcr_result ipcp_rcr(struct pppcp_data *pppcp, return RCR_ACCEPT; /* Reject all options */ - *new_len = packet->length - sizeof(*packet); + *new_len = ntohs(packet->length) - sizeof(*packet); *new_options = g_memdup(packet->data, *new_len); return RCR_REJECT;