aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-04-04 06:21:45 +0700
committerHarald Welte <laforge@gnumonks.org>2018-04-12 09:27:44 +0000
commit048eb306842fabf9fb577f3d35c46b482fb0b867 (patch)
tree5fe621b03fd82f43781ddcc5ce762ddd504d0bff
parentfe4ba7c057db8bb57490bf53af42a6bec198a2d0 (diff)
libmsc/ussd: don't overwrite rc if decoding failed
-rw-r--r--src/libmsc/ussd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libmsc/ussd.c b/src/libmsc/ussd.c
index ab5957162..fe1610f44 100644
--- a/src/libmsc/ussd.c
+++ b/src/libmsc/ussd.c
@@ -74,8 +74,9 @@ int handle_rcv_ussd(struct gsm_subscriber_connection *conn, struct msgb *msg)
if (!rc) {
LOGP(DMM, LOGL_ERROR, "SS/USSD message parsing error, "
"rejecting request...\n");
- rc = gsm0480_send_ussd_reject(conn, &req);
- return rc;
+ gsm0480_send_ussd_reject(conn, &req);
+ /* The GSM 04.80 API uses inverted codes (0 means error) */
+ return -EPROTO;
}
/* Interrogation or releaseComplete? */