diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-06-29 05:00:56 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-06-29 05:00:56 -0500 |
commit | 2eb4611de8eb1fc874b59b757abfe90b30851d1f (patch) | |
tree | 71fefbfa04692ac8bd64573ae62256a844c1d61b /gatchat/gatppp.c | |
parent | e893deac59f35ea30a65f24217d565181b54c400 (diff) | |
download | ofono-2eb4611de8eb1fc874b59b757abfe90b30851d1f.tar.bz2 |
ppp: Add basic length sanity checks
Diffstat (limited to 'gatchat/gatppp.c')
-rw-r--r-- | gatchat/gatppp.c | 9 |
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 */ |