From a5ddf489e1b085e573e4dbcb24e40a02cba413f7 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 12 Dec 2013 15:28:43 +0100 Subject: subscriber: Address coverity warning and truncate the IMSI The IMSI can only be 15 characters in length, our define gives us a length of 17. This means we have place for two NULs. Use strncpy and make sure it is null-terminated. Fixes: Coverity CID 1040707 --- openbsc/src/libbsc/gsm_subscriber_base.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openbsc/src/libbsc/gsm_subscriber_base.c b/openbsc/src/libbsc/gsm_subscriber_base.c index 747a699f9..5755687a1 100644 --- a/openbsc/src/libbsc/gsm_subscriber_base.c +++ b/openbsc/src/libbsc/gsm_subscriber_base.c @@ -104,7 +104,8 @@ struct gsm_subscriber *subscr_get_or_create(struct gsm_network *net, if (!subscr) return NULL; - strcpy(subscr->imsi, imsi); + strncpy(subscr->imsi, imsi, GSM_IMSI_LENGTH); + subscr->imsi[GSM_IMSI_LENGTH - 1] = '\0'; subscr->net = net; return subscr; } -- cgit v1.2.3