diff --git a/src/ros_parser.cpp b/src/ros_parser.cpp index ec4d436..e8de8fc 100644 --- a/src/ros_parser.cpp +++ b/src/ros_parser.cpp @@ -522,7 +522,14 @@ bool Parser::deserializeIntoJson(Span buffer, std::string* json_t { throw std::runtime_error("Buffer overrun"); } - new_value.SetString(reinterpret_cast(&buffer[buffer_offset]), string_size, alloc); + if(string_size == 0) + { + new_value.SetString(""); + } + else + { + new_value.SetString(reinterpret_cast(&buffer[buffer_offset]), string_size, alloc); + } buffer_offset += string_size; } break;