diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-04 19:20:23 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-04 19:24:26 +0200 |
commit | 9b8e7b4e3970a92e859f6e8ffd73086aa49546cb (patch) | |
tree | e498fe2c16cbda0c2ee67bf81611962d5200e159 | |
parent | 010ceb82062750eab56f05b712e32650f5c34bfd (diff) |
hlr_subscr_nam(): fix condition to fix nam=false notifications
Firstly, vlr_number[] is an array and we need to check the first char for nul
instead of the pointer.
Also, osmo_ipa_name_set_str() returns zero on success, so the condition is
reversed.
hlr_subscr_nam() was rewritten in I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9
ad868e29ba1b838f151cdf2ad9cb4f068a817493 and this likely fixes a bug introduced
there.
Related: coverity CID#210169
Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9
-rw-r--r-- | src/hlr.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -268,9 +268,9 @@ int hlr_subscr_nam(struct hlr *hlr, struct hlr_subscriber *subscr, bool nam_val, if (nam_val) return 0; - if (subscr->vlr_number && osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) + if (subscr->vlr_number[0] && !osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); - if (subscr->sgsn_number && osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) + if (subscr->sgsn_number[0] && !osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); return 0; } |