diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-11-21 21:30:23 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-11-21 21:30:23 +0100 |
commit | 6058220d2a05bada0a656809f9011fc86a1e22a5 (patch) | |
tree | 12cd337e06876c26f5b156051ff01258e3bd6287 /src/llc.cpp | |
parent | 58db60c68ebf137ae2a886ec3bd1188431c84721 (diff) |
types: Add a simple testcase for basic types and fix the LLC code
* Make append_data, remaining_space and fits_in_current.. work
on m_length and not the index. This ways things can't overflow.
* The current API consumer was moving the m_index so it should have
worked okay.
Diffstat (limited to 'src/llc.cpp')
-rw-r--r-- | src/llc.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/llc.cpp b/src/llc.cpp index c0c517f3..ae190b7f 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -55,7 +55,7 @@ void gprs_llc::put_frame(const uint8_t *data, size_t len) void gprs_llc::append_frame(const uint8_t *data, size_t len) { /* TODO: bounds check */ - memcpy(frame + m_index, data, len); + memcpy(frame + m_length, data, len); m_length += len; } @@ -72,6 +72,7 @@ void gprs_llc::clear(BTS *bts) void gprs_llc::init() { INIT_LLIST_HEAD(&queue); + reset(); } struct msgb *gprs_llc::dequeue() |