diff options
author | laforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3> | 2006-10-22 18:38:35 +0000 |
---|---|---|
committer | laforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3> | 2006-10-22 18:38:35 +0000 |
commit | 1cfa84da8e1defe1a9d138c82afa80374eace8ab (patch) | |
tree | c7ab997789a6dc969c76bcbbbd2a17746faec94b /src/gsmd/usock.c | |
parent | 1d0806498974e90467535dee84926d295fe256d2 (diff) |
- fix parsing of unsolicited codes
- fix segfault due to missing zero-filled option in 'struct option' array
git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@102 99fdad57-331a-0410-800a-d7fa5415bdb3
Diffstat (limited to 'src/gsmd/usock.c')
-rw-r--r-- | src/gsmd/usock.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gsmd/usock.c b/src/gsmd/usock.c index 925be75..774fff3 100644 --- a/src/gsmd/usock.c +++ b/src/gsmd/usock.c @@ -103,7 +103,7 @@ static int usock_rcv_pin(struct gsmd_user *gu, struct gsmd_msg_hdr *gph, int len return 0; } -static usock_msg_handler *pcmd_type_handlers[] = { +static usock_msg_handler *pcmd_type_handlers[__NUM_GSMD_MSGS] = { [GSMD_MSG_PASSTHROUGH] = &usock_rcv_passthrough, [GSMD_MSG_EVENT] = &usock_rcv_event, [GSMD_MSG_VOICECALL] = &usock_rcv_voicecall, @@ -118,7 +118,7 @@ static int usock_rcv_pcmd(struct gsmd_user *gu, char *buf, int len) if (gph->version != GSMD_PROTO_VERSION) return -EINVAL; - if (gph->msg_type >= ARRAY_SIZE(pcmd_type_handlers)) + if (gph->msg_type >= __NUM_GSMD_MSGS) return -EINVAL; umh = pcmd_type_handlers[gph->msg_type]; |