From 048eb306842fabf9fb577f3d35c46b482fb0b867 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Wed, 4 Apr 2018 06:21:45 +0700 Subject: [PATCH] libmsc/ussd: don't overwrite rc if decoding failed Change-Id: I344e4b3a9aad617686a7ddbdeae5780fd8b07e58 --- src/libmsc/ussd.c | 5 +++-- 1 file 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? */