fixeria has uploaded this change for review.

View Change

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.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: Ibb029e04816209423569037890fe85dcf174bd7b
Gerrit-Change-Number: 43682
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>