diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-04-06 17:39:16 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-04-06 22:49:47 -0500 |
commit | e0c8704705fa6a4fba8c3fd29361b0fab27a8ba1 (patch) | |
tree | 5691e044bb106528b452cad05f781182f2c715b5 /gatchat/ppp_lcp.c | |
parent | 130ac43255ddc676f4ac3c58a8af2eeac0bce6b3 (diff) | |
download | ofono-e0c8704705fa6a4fba8c3fd29361b0fab27a8ba1.tar.bz2 |
ppp: Verify magic number is not zero
Diffstat (limited to 'gatchat/ppp_lcp.c')
-rw-r--r-- | gatchat/ppp_lcp.c | 11 |
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; |