diff options
author | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2013-12-30 14:26:06 +0400 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2013-12-30 14:56:26 +0400 |
commit | 1b517342ae946faa8408fd4bcdf50d8248e88d8c (patch) | |
tree | 5e41cd6db410fbb895d3b9a79b48dc9f283b27b3 /src/gsm_rlcmac.cpp | |
parent | 1c344e26689fc84ceb1fda1ab9e061462af2678b (diff) |
Fix warnings in gsm_rlcmac.cpp
1. ar.direction variable was not initialized
2. overrunning array "data->RLC_DATA" of 20 bytes at byte offset 22 using index "i" (which evaluates to 22)
Diffstat (limited to 'src/gsm_rlcmac.cpp')
-rw-r--r-- | src/gsm_rlcmac.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp index a39a5c06..44bc5e13 100644 --- a/src/gsm_rlcmac.cpp +++ b/src/gsm_rlcmac.cpp @@ -34,6 +34,7 @@ */ #include <iostream> #include <cstdlib> +#include <assert.h> #include <gprs_debug.h> using namespace std; @@ -5436,6 +5437,7 @@ void decode_gsm_rlcmac_uplink_data(bitvec * vector, RlcMacUplinkDataBlock_t * da } unsigned dataLen = 23 - readIndex/8; LOGPC(DRLCMACDATA, LOGL_NOTICE, "DATA[%u] = ", dataLen); + assert(dataLen <= 20); for (unsigned i = 0; i < dataLen; i++) { data->RLC_DATA[i] = bitvec_read_field(vector, readIndex, 8); @@ -5498,6 +5500,7 @@ void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t } unsigned dataNumOctets = 23 - writeIndex/8; LOGPC(DRLCMACDATA, LOGL_NOTICE, "DATA[%u] = ", dataNumOctets); + assert(dataNumOctets <= 20); for (unsigned i = 0; i < dataNumOctets; i++) { bitvec_write_field(vector, writeIndex, data->RLC_DATA[i], 8); |