mirror of git://git.sysmocom.de/ofono
Fix: Use g_try_malloc when parsing stk result
This commit is contained in:
parent
e246b414c9
commit
b3a6883125
|
@ -271,6 +271,7 @@ static gboolean parse_dataobj_result(struct comprehension_tlv_iter *iter,
|
||||||
struct stk_result *result = user;
|
struct stk_result *result = user;
|
||||||
const unsigned char *data;
|
const unsigned char *data;
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
|
unsigned char *additional;
|
||||||
|
|
||||||
if (comprehension_tlv_iter_get_tag(iter) !=
|
if (comprehension_tlv_iter_get_tag(iter) !=
|
||||||
STK_DATA_OBJECT_TYPE_RESULT)
|
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)))
|
(data[0] == 0x3c) || (data[0] == 0x3d)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
additional = g_try_malloc(len - 1);
|
||||||
|
if (additional == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
result->type = data[0];
|
result->type = data[0];
|
||||||
result->additional_len = len - 1;
|
result->additional_len = len - 1;
|
||||||
result->additional = g_malloc(len - 1);
|
result->additional = additional;
|
||||||
memcpy(result->additional, data + 1, len - 1);
|
memcpy(result->additional, data + 1, len - 1);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in New Issue