summaryrefslogtreecommitdiffstats
path: root/gatchat/ppp_lcp.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-04-06 17:39:16 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-04-06 22:49:47 -0500
commite0c8704705fa6a4fba8c3fd29361b0fab27a8ba1 (patch)
tree5691e044bb106528b452cad05f781182f2c715b5 /gatchat/ppp_lcp.c
parent130ac43255ddc676f4ac3c58a8af2eeac0bce6b3 (diff)
downloadofono-e0c8704705fa6a4fba8c3fd29361b0fab27a8ba1.tar.bz2
ppp: Verify magic number is not zero
Diffstat (limited to 'gatchat/ppp_lcp.c')
-rw-r--r--gatchat/ppp_lcp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c
index 81182ba1..3faf3ac7 100644
--- a/gatchat/ppp_lcp.c
+++ b/gatchat/ppp_lcp.c
@@ -105,10 +105,19 @@ static guint lcp_option_scan(struct pppcp_data *pppcp,
case ACCM:
case AUTH_PROTO:
/* XXX check to make sure it's a proto we recognize */
- case MAGIC_NUMBER:
case PFC:
case ACFC:
return OPTION_ACCEPT;
+
+ case MAGIC_NUMBER:
+ {
+ guint32 magic = get_host_long(option->data);
+
+ if (magic == 0)
+ return OPTION_REJECT;
+
+ return OPTION_ACCEPT;
+ }
}
return OPTION_REJECT;