From 9e331e7977f98e7e007e1bc3e8951413a7e0ec70 Mon Sep 17 00:00:00 2001 From: Chenchen Date: Fri, 11 Jun 2021 05:49:29 +0800 Subject: [PATCH] fix invalid memory access when eol size >1 (#220) Co-authored-by: chenguojun --- src/serial.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/serial.cc b/src/serial.cc index 37b5d70..a9e6f84 100755 --- a/src/serial.cc +++ b/src/serial.cc @@ -188,6 +188,7 @@ Serial::readline (string &buffer, size_t size, string eol) if (bytes_read == 0) { break; // Timeout occured on reading 1 byte } + if(read_so_far < eol_len) continue; if (string (reinterpret_cast (buffer_ + read_so_far - eol_len), eol_len) == eol) { break; // EOL found @@ -229,6 +230,7 @@ Serial::readlines (size_t size, string eol) } break; // Timeout occured on reading 1 byte } + if(read_so_far < eol_len) continue; if (string (reinterpret_cast (buffer_ + read_so_far - eol_len), eol_len) == eol) { // EOL found