summaryrefslogtreecommitdiffstats
path: root/gatchat/gatppp.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-06-29 05:00:56 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-06-29 05:00:56 -0500
commit2eb4611de8eb1fc874b59b757abfe90b30851d1f (patch)
tree71fefbfa04692ac8bd64573ae62256a844c1d61b /gatchat/gatppp.c
parente893deac59f35ea30a65f24217d565181b54c400 (diff)
downloadofono-2eb4611de8eb1fc874b59b757abfe90b30851d1f.tar.bz2
ppp: Add basic length sanity checks
Diffstat (limited to 'gatchat/gatppp.c')
-rw-r--r--gatchat/gatppp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index 84b43388..2ff6c86b 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -214,17 +214,18 @@ static void ppp_receive(const unsigned char *buf, gsize len, void *data)
switch (protocol) {
case PPP_IP_PROTO:
- ppp_net_process_packet(ppp->net, packet);
+ ppp_net_process_packet(ppp->net, packet, len - offset);
break;
case LCP_PROTOCOL:
- pppcp_process_packet(ppp->lcp, packet);
+ pppcp_process_packet(ppp->lcp, packet, len - offset);
break;
case IPCP_PROTO:
- pppcp_process_packet(ppp->ipcp, packet);
+ pppcp_process_packet(ppp->ipcp, packet, len - offset);
break;
case CHAP_PROTOCOL:
if (ppp->chap) {
- ppp_chap_process_packet(ppp->chap, packet);
+ ppp_chap_process_packet(ppp->chap, packet,
+ len - offset);
break;
}
/* fall through */