[PATCH] openbsc[master]: libmsc: sms_route_mt_sms() may return uninitialized return v...

2017-09-13 Thread Pablo Neira Ayuso
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3899

to look at the new patch set (#4).

libmsc: sms_route_mt_sms() may return uninitialized return value

If smpp_first is set off and there is a local receiver for this sms,
then return 0. Without this patch, we return 'rc' which is uninitialized
in the scenario that I'm describing above.

Change-Id: I0c0bcd919cc3275d491995d17c6a32bb61c6afe1
---
M openbsc/src/libmsc/gsm_04_11.c
1 file changed, 22 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/99/3899/4

diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index 27bffc9..25ef487 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -363,31 +363,32 @@
/* determine gsms->receiver based on dialled number */
gsms->receiver = subscr_get_by_extension(conn->network->subscr_group,
 gsms->dst.addr);
-   if (!gsms->receiver) {
-#ifdef BUILD_SMPP
-   /* Avoid a second look-up */
-   if (smpp_first) {
-   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-   return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
-   }
+   if (gsms->receiver)
+   return 0;
 
-   rc = smpp_try_deliver(gsms, conn);
-   if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
-   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-   } else if (rc < 0) {
-   LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
-subscr_name(conn->subscr), rc);
-   rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
-   /* rc will be logged by gsm411_send_rp_error() */
-   rate_ctr_inc(>bts->network->msc_ctrs->ctr[
-   MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]);
-   }
-#else
-   rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
+#ifdef BUILD_SMPP
+   /* Avoid a second look-up */
+   if (smpp_first) {

rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-#endif
+   return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
}
 
+   rc = smpp_try_deliver(gsms, conn);
+   if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
+   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
+   } else if (rc < 0) {
+   LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
+subscr_name(conn->subscr), rc);
+   rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
+   /* rc will be logged by gsm411_send_rp_error() */
+   rate_ctr_inc(>bts->network->msc_ctrs->ctr[
+   MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]);
+   }
+#else
+   rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
+   rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
+#endif
+
return rc;
 }
 

-- 
To view, visit https://gerrit.osmocom.org/3899
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0c0bcd919cc3275d491995d17c6a32bb61c6afe1
Gerrit-PatchSet: 4
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Pablo Neira Ayuso 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Keith Whyte 
Gerrit-Reviewer: Pablo Neira Ayuso 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: neels 


[PATCH] openbsc[master]: libmsc: sms_route_mt_sms() may return uninitialized return v...

2017-09-11 Thread Pablo Neira Ayuso
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3899

to look at the new patch set (#2).

libmsc: sms_route_mt_sms() may return uninitialized return value

If smpp_first is set off and there is a local receiver for this sms,
then return 0.

Without this patch, we return 'rc' which is uninitialized in the
scenario that I'm describing above.

Change-Id: I0c0bcd919cc3275d491995d17c6a32bb61c6afe1
---
M openbsc/src/libmsc/gsm_04_11.c
1 file changed, 22 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/99/3899/2

diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index ddef444..eb0a8ae 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -363,31 +363,32 @@
/* determine gsms->receiver based on dialled number */
gsms->receiver = subscr_get_by_extension(conn->network->subscr_group,
 gsms->dst.addr);
-   if (!gsms->receiver) {
-#ifdef BUILD_SMPP
-   /* Avoid a second look-up */
-   if (smpp_first) {
-   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-   return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
-   }
+   if (gsms->receiver)
+   return 0;
 
-   rc = smpp_try_deliver(gsms, conn);
-   if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
-   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-   } else if (rc < 0) {
-   LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
-subscr_name(conn->subscr), rc);
-   rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
-   /* rc will be logged by gsm411_send_rp_error() */
-   rate_ctr_inc(>bts->network->msc_ctrs->ctr[
-   MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]);
-   }
-#else
-   rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
+#ifdef BUILD_SMPP
+   /* Avoid a second look-up */
+   if (smpp_first) {

rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-#endif
+   return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
}
 
+   rc = smpp_try_deliver(gsms, conn);
+   if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
+   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
+   } else if (rc < 0) {
+   LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
+subscr_name(conn->subscr), rc);
+   rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
+   /* rc will be logged by gsm411_send_rp_error() */
+   rate_ctr_inc(>bts->network->msc_ctrs->ctr[
+   MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]);
+   }
+#else
+   rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
+   rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
+#endif
+
return rc;
 }
 

-- 
To view, visit https://gerrit.osmocom.org/3899
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0c0bcd919cc3275d491995d17c6a32bb61c6afe1
Gerrit-PatchSet: 2
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Pablo Neira Ayuso 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Keith Whyte 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: neels 


[PATCH] openbsc[master]: libmsc: sms_route_mt_sms() may return uninitialized return v...

2017-09-10 Thread Pablo Neira Ayuso

Review at  https://gerrit.osmocom.org/3899

libmsc: sms_route_mt_sms() may return uninitialized return value

If smpp_first is set off and there is a local receiver for this sms,
then return 0.

Without this patch, we return 'rc' which is uninitialized in the
scenario that I'm describing above.

Change-Id: I0c0bcd919cc3275d491995d17c6a32bb61c6afe1
---
M openbsc/src/libmsc/gsm_04_11.c
1 file changed, 22 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/99/3899/1

diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index ddef444..ad788f2 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -363,31 +363,32 @@
/* determine gsms->receiver based on dialled number */
gsms->receiver = subscr_get_by_extension(conn->network->subscr_group,
 gsms->dst.addr);
-   if (!gsms->receiver) {
-#ifdef BUILD_SMPP
-   /* Avoid a second look-up */
-   if (smpp_first) {
-   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-   return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
-   }
+   if (gsms->receiver)
+   return 0;
 
-   rc = smpp_try_deliver(gsms, conn);
-   if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
-   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-   } else if (rc < 0) {
-   LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
-subscr_name(conn->subscr), rc);
-   rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
-   /* rc will be logged by gsm411_send_rp_error() */
-   rate_ctr_inc(>bts->network->msc_ctrs->ctr[
-   MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]);
-   }
-#else
-   rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
+#ifdef BUILD_SMPP
+   /* Avoid a second look-up */
+   if (smpp_first) {

rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
-#endif
+   return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
}
 
+   rc = smpp_try_deliver(gsms, conn);
+   if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) {
+   
rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
+   } else if (rc < 0) {
+   LOGP(DLSMS, LOGL_ERROR, "%s: SMS delivery error: %d.",
+subscr_name(conn->subscr), rc);
+   rc = GSM411_RP_CAUSE_MO_TEMP_FAIL;
+   /* rc will be logged by gsm411_send_rp_error() */
+   rate_ctr_inc(>bts->network->msc_ctrs->ctr[
+   MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]);
+   }
+#else
+   rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;
+   rate_ctr_inc(>network->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]);
+#endif
+
return rc;
 }
 

-- 
To view, visit https://gerrit.osmocom.org/3899
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0c0bcd919cc3275d491995d17c6a32bb61c6afe1
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Pablo Neira Ayuso