From 3fc4616224db31d4c4b14d919dd5c719d4ab19f1 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Fri, 3 Aug 2018 03:45:06 +0700 Subject: gsm/gsm0480.c: prevent NULL-pointer dereference Change-Id: I444d95941837458b46e581298f76f3a9926c8552 --- src/gsm/gsm0480.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gsm/gsm0480.c b/src/gsm/gsm0480.c index 2d2df4ad..5b51c754 100644 --- a/src/gsm/gsm0480.c +++ b/src/gsm/gsm0480.c @@ -880,7 +880,11 @@ struct msgb *gsm0480_create_ussd_resp(uint8_t invoke_id, uint8_t trans_id, const */ struct msgb *gsm0480_gen_return_error(uint8_t invoke_id, uint8_t error_code) { - struct msgb *msg = gsm0480_msgb_alloc_name("TS 04.80 ReturnError"); + struct msgb *msg; + + msg = gsm0480_msgb_alloc_name("TS 04.80 ReturnError"); + if (!msg) + return NULL; /* First insert the problem code */ msgb_push_TLV1(msg, GSM_0480_ERROR_CODE_TAG, error_code); @@ -906,7 +910,11 @@ struct msgb *gsm0480_gen_return_error(uint8_t invoke_id, uint8_t error_code) */ struct msgb *gsm0480_gen_reject(int invoke_id, uint8_t problem_tag, uint8_t problem_code) { - struct msgb *msg = gsm0480_msgb_alloc_name("TS 04.80 Reject"); + struct msgb *msg; + + msg = gsm0480_msgb_alloc_name("TS 04.80 Reject"); + if (!msg) + return NULL; /* First insert the problem code */ msgb_push_TLV1(msg, problem_tag, problem_code); -- cgit v1.2.3