summaryrefslogtreecommitdiffstats
path: root/src/stkutil.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-03-11 15:21:05 -0600
committerDenis Kenzior <denkenz@gmail.com>2010-03-15 21:02:06 -0500
commit6404e7c4bdf16d2eb2531cad5e4f7d516b7c17e2 (patch)
tree23d7a425bff8c0307db07f3c57c20457a69548cc /src/stkutil.c
parent44476dac9e66267549337ab082bb41d6af069f18 (diff)
downloadofono-6404e7c4bdf16d2eb2531cad5e4f7d516b7c17e2.tar.bz2
Refactor: stk item dataobject
Diffstat (limited to 'src/stkutil.c')
-rw-r--r--src/stkutil.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/stkutil.c b/src/stkutil.c
index 6cd539b1..47533cb2 100644
--- a/src/stkutil.c
+++ b/src/stkutil.c
@@ -175,8 +175,8 @@ static gboolean parse_dataobj_duration(struct comprehension_tlv_iter *iter,
}
/* Defined in TS 102.223 Section 8.9 */
-static gboolean parse_dataobj_item(
- struct comprehension_tlv_iter *iter, void *user)
+static gboolean parse_dataobj_item(struct comprehension_tlv_iter *iter,
+ void *user)
{
struct stk_item *item = user;
const unsigned char *data;
@@ -191,6 +191,11 @@ static gboolean parse_dataobj_item(
return FALSE;
data = comprehension_tlv_iter_get_data(iter);
+
+ /* The identifier is between 0x01 and 0xFF */
+ if (data[0] == 0)
+ return FALSE;
+
item->id = data[0];
item->text = sim_string_to_utf8(data+1, len-1);