Fix: Use g_try_malloc when parsing stk result

This commit is contained in:
Denis Kenzior 2010-03-16 17:41:26 -05:00
parent e246b414c9
commit b3a6883125
1 changed files with 6 additions and 1 deletions

View File

@ -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;