fixeria has uploaded this change for review.
Transceiver52M: check rc of osmo_trxc_msg_params_scan()
Change-Id: Ibb029e04816209423569037890fe85dcf174bd7b
Fixes: CID#564238
---
M Transceiver52M/Transceiver.cpp
1 file changed, 12 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/82/43682/1
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index 865b122..f9f1727 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -1060,16 +1060,19 @@
} else if (!strcmp(cmd.cmd, "SETFORMAT")) {
// set TRXD protocol version
unsigned version_recv = 0;
- osmo_trxc_msg_params_scan(&cmd, "%u", &version_recv);
- LOGCHAN(chan, DTRXCTRL, INFO) << "BTS requests TRXD version switch: " << version_recv;
- if (version_recv > TRX_DATA_FORMAT_VER) {
- LOGCHAN(chan, DTRXCTRL, INFO) << "rejecting TRXD version " << version_recv
- << " in favor of " << TRX_DATA_FORMAT_VER;
- rsp.status = TRX_DATA_FORMAT_VER;
+ if (osmo_trxc_msg_params_scan(&cmd, "%u", &version_recv) != 1) {
+ LOGCHAN(chan, DTRXCTRL, NOTICE) << "bogus message on control interface";
} else {
- LOGCHAN(chan, DTRXCTRL, NOTICE) << "switching to TRXD version " << version_recv;
- mVersionTRXD[chan] = version_recv;
- rsp.status = version_recv;
+ LOGCHAN(chan, DTRXCTRL, INFO) << "BTS requests TRXD version switch: " << version_recv;
+ if (version_recv > TRX_DATA_FORMAT_VER) {
+ LOGCHAN(chan, DTRXCTRL, INFO) << "rejecting TRXD version " << version_recv
+ << " in favor of " << TRX_DATA_FORMAT_VER;
+ rsp.status = TRX_DATA_FORMAT_VER;
+ } else {
+ LOGCHAN(chan, DTRXCTRL, NOTICE) << "switching to TRXD version " << version_recv;
+ mVersionTRXD[chan] = version_recv;
+ rsp.status = version_recv;
+ }
}
snprintf(rsp.params, sizeof(rsp.params), "%u", version_recv);
} else if (!strcmp(cmd.cmd, "RFMUTE")) {
To view, visit change 43682. To unsubscribe, or for help writing mail filters, visit settings.