From 7184bd088e11cfe6b907af2fcce48369fd2f21f1 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 28 Dec 2015 14:04:36 +0100 Subject: subscr_name(): Handle case for subscr == NULL subscr_name() was called from several places: * either without a check for subscr being NULL, which for example was causing a segfault if we hand-over a channel before identifying the subscriber * or with an explicit NULL check and the ternary operator (?). We now simplify the code by checking for the NULL Subscriber in subscr_name() itself. Change-Id: Ide09f4a515222eb2ec6c25e7a6a8c5f6cc2ffd4b Reviewed-on: https://gerrit.osmocom.org/92 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther --- openbsc/src/libcommon/gsm_subscriber_base.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'openbsc/src/libcommon') diff --git a/openbsc/src/libcommon/gsm_subscriber_base.c b/openbsc/src/libcommon/gsm_subscriber_base.c index 50f411888..1f98cc66c 100644 --- a/openbsc/src/libcommon/gsm_subscriber_base.c +++ b/openbsc/src/libcommon/gsm_subscriber_base.c @@ -43,6 +43,9 @@ struct llist_head *subscr_bsc_active_subscribers(void) char *subscr_name(struct gsm_subscriber *subscr) { + if (!subscr) + return "unknown"; + if (strlen(subscr->name)) return subscr->name; -- cgit v1.2.3