diff options
author | Max <msuraev@sysmocom.de> | 2017-09-08 12:33:34 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-09-08 12:51:03 +0200 |
commit | 1962136a333a03e3ed33e96f4fb350fad61b3170 (patch) | |
tree | 439f09c6386a70199e6557d83241f3ea73672bec | |
parent | 5a6bcfb7977b9db8964016582e51218a60c8431f (diff) |
Assert valid CS
The coding scheme converted to number make sense only if it's
valid. This is implicitly assumed by the code using this conversion as
non-zero value. Make those assumptions explicit with OSMO_ASSERT().
Change-Id: I8f62627b7b7b89dfa1b0d1a7e71b95b2c40fdffa
Fixes: CID70466
-rw-r--r-- | src/gprs_coding_scheme.h | 6 | ||||
-rw-r--r-- | src/gprs_ms.cpp | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h index 3b153724..dfad240b 100644 --- a/src/gprs_coding_scheme.h +++ b/src/gprs_coding_scheme.h @@ -23,6 +23,9 @@ #include <stdint.h> #include <stddef.h> +extern "C" { + #include <osmocom/core/utils.h> +} class GprsCodingScheme { public: @@ -236,6 +239,9 @@ inline GprsCodingScheme::Scheme GprsCodingScheme::get_retx_mcs( const GprsCodingScheme demanded_mcs, const unsigned arq_type) { + OSMO_ASSERT(mcs.to_num() > 0); + OSMO_ASSERT(demanded_mcs.to_num() > 0); + return egprs_mcs_retx_tbl[arq_type][mcs.to_num() - 1] [demanded_mcs.to_num() - 1]; } diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 66312fa9..33d9cad5 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -630,6 +630,8 @@ void GprsMs::update_cs_ul(const pcu_l1_meas *meas) return; } + OSMO_ASSERT(current_cs_num > 0); + if (!m_current_cs_ul) return; |