summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-03-16 17:41:26 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-03-16 17:42:18 -0500
commitb3a6883125a033bb0b419ad0a4a1e91303d84082 (patch)
tree7db2792f9fb3181c13bd5c07db149c17f3a79cce /src
parente246b414c9c10e24c0b563e13ac230da2a3812cf (diff)
downloadofono-b3a6883125a033bb0b419ad0a4a1e91303d84082.tar.bz2
Fix: Use g_try_malloc when parsing stk result
Diffstat (limited to 'src')
-rw-r--r--src/stkutil.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/stkutil.c b/src/stkutil.c
index afc92d69..940eee26 100644
--- a/src/stkutil.c
+++ b/src/stkutil.c
@@ -271,6 +271,7 @@ static gboolean parse_dataobj_result(struct comprehension_tlv_iter *iter,
struct stk_result *result = user;
const unsigned char *data;
unsigned int len;
+ unsigned char *additional;
if (comprehension_tlv_iter_get_tag(iter) !=
STK_DATA_OBJECT_TYPE_RESULT)
@@ -288,9 +289,13 @@ static gboolean parse_dataobj_result(struct comprehension_tlv_iter *iter,
(data[0] == 0x3c) || (data[0] == 0x3d)))
return FALSE;
+ additional = g_try_malloc(len - 1);
+ if (additional == NULL)
+ return FALSE;
+
result->type = data[0];
result->additional_len = len - 1;
- result->additional = g_malloc(len - 1);
+ result->additional = additional;
memcpy(result->additional, data + 1, len - 1);
return TRUE;