From 7f97d671081978a0aafb0de03765e3a356ec7603 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 3 Jun 2019 18:51:00 +0200 Subject: db: Fix call to mempcy with NULL src ptr Catched by ASan on db_sms_test unit test: DDB NOTICE test_db_sms_get('Empty TP-UD'): osmo-msc/src/libmsc/db.c:796:2: runtime error: null pointer passed as argument 2, which is declared to never be null That happens on empty PDU because dbi_result_get_binary returns NULL, and sms->user_data_len is 0, so it's harmless but we can avoid calling mempcy and make ASan happy. Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 --- src/libmsc/db.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libmsc/db.c b/src/libmsc/db.c index add6304d0..e3995a643 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -793,7 +793,8 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul user_data = dbi_result_get_binary(result, "user_data"); if (sms->user_data_len > sizeof(sms->user_data)) sms->user_data_len = (uint8_t) sizeof(sms->user_data); - memcpy(sms->user_data, user_data, sms->user_data_len); + if (user_data) + memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); if (text) -- cgit v1.2.3