From c2c69ac03277046a89e64b9b2df4bd31695ace8a Mon Sep 17 00:00:00 2001 From: dennis-adlink <45659984+dennis-adlink@users.noreply.github.com> Date: Tue, 24 Sep 2019 16:13:34 +0200 Subject: [PATCH] Code improvements in ser/deser code wrt passing data size (#39) * Some code improvements in ser/deser code wrt passing data size to cycdeserbase class. Signed-off-by: Dennis Potman * Move adjusting deserialisation limit in cycdeserbase to line where data pointer is moved. Signed-off-by: Dennis Potman --- rmw_cyclonedds_cpp/src/serdes.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rmw_cyclonedds_cpp/src/serdes.cpp b/rmw_cyclonedds_cpp/src/serdes.cpp index 51a4723..d5857aa 100755 --- a/rmw_cyclonedds_cpp/src/serdes.cpp +++ b/rmw_cyclonedds_cpp/src/serdes.cpp @@ -32,10 +32,10 @@ cycser::cycser(std::vector & dst_) dst.push_back(0); } -cycdeserbase::cycdeserbase(const char * data_, size_t lim_) +cycdeserbase::cycdeserbase(const char * data_, size_t size_) : data(data_), pos(0), - lim(lim_), + lim(size_), swap_bytes(false) { /* Get the endianness byte (skip unused first byte in data[0]) */ @@ -46,17 +46,17 @@ cycdeserbase::cycdeserbase(const char * data_, size_t lim_) /* Ignore representation options (data_[2] and data_[3]) */ data += 4; + lim -= 4; } cycdeser::cycdeser(const void * data_, size_t size_) -: cycdeserbase(static_cast(data_), size_ - 4) +: cycdeserbase(static_cast(data_), size_) { } cycprint::cycprint(char * buf_, size_t bufsize_, const void * data_, size_t size_) -: cycdeserbase(static_cast(data_), size_ - 4), +: cycdeserbase(static_cast(data_), size_), buf(buf_), bufsize(bufsize_) { - static_cast(size_); }