summaryrefslogtreecommitdiffstats
path: root/gisi/verify.c
diff options
context:
space:
mode:
authorAki Niemi <aki.niemi@nokia.com>2009-09-16 13:42:04 +0300
committerAki Niemi <aki.niemi@nokia.com>2009-09-16 23:37:23 +0300
commit0b28b0567822875b8d94c9fa373a647d9792d791 (patch)
tree61808a72394b8377a370f4819527f00cd7af0996 /gisi/verify.c
parente3e5090b6a2cbe9e70cabf6b751bee3e6a79e71c (diff)
downloadofono-0b28b0567822875b8d94c9fa373a647d9792d791.tar.bz2
gisi: Make reachability detection more robust
Diffstat (limited to 'gisi/verify.c')
-rw-r--r--gisi/verify.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gisi/verify.c b/gisi/verify.c
index f94aeea9..fb29f0e1 100644
--- a/gisi/verify.c
+++ b/gisi/verify.c
@@ -38,6 +38,8 @@
#define COMM_ISI_VERSION_GET_RESP 0x13
#define COMM_ISA_ENTITY_NOT_REACHABLE_RESP 0x14
+#define PN_SIM 0x09
+
struct verify_data {
void *func;
void *data;
@@ -55,10 +57,10 @@ static bool verify_cb(GIsiClient *client, const void *restrict data,
if(!msg)
goto out;
- if (len < 4 || msg[0] != COMMON_MESSAGE)
+ if (len < 2 || msg[0] != COMMON_MESSAGE)
goto out;
- if (msg[1] == COMM_ISI_VERSION_GET_RESP) {
+ if (msg[1] == COMM_ISI_VERSION_GET_RESP && len >= 4) {
g_isi_version_set(client, msg[2], msg[3]);
alive = true;
goto out;