diff options
-rw-r--r-- | openbsc/src/libmsc/db.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c index 9f265901c..0935fc54d 100644 --- a/openbsc/src/libmsc/db.c +++ b/openbsc/src/libmsc/db.c @@ -579,13 +579,15 @@ static int get_equipment_by_subscr(struct gsm_subscriber *subscr) cm2 = dbi_result_get_binary(result, "classmark2"); if (equip->classmark2_len > sizeof(equip->classmark2)) equip->classmark2_len = sizeof(equip->classmark2); - memcpy(equip->classmark2, cm2, equip->classmark2_len); + if (cm2) + memcpy(equip->classmark2, cm2, equip->classmark2_len); equip->classmark3_len = dbi_result_get_field_length(result, "classmark3"); cm3 = dbi_result_get_binary(result, "classmark3"); if (equip->classmark3_len > sizeof(equip->classmark3)) equip->classmark3_len = sizeof(equip->classmark3); - memcpy(equip->classmark3, cm3, equip->classmark3_len); + if (cm3) + memcpy(equip->classmark3, cm3, equip->classmark3_len); dbi_result_free(result); |