diff --git a/libuavcan/include/uavcan/marshal/array.hpp b/libuavcan/include/uavcan/marshal/array.hpp index df87050dfd..dcc048c9b4 100644 --- a/libuavcan/include/uavcan/marshal/array.hpp +++ b/libuavcan/include/uavcan/marshal/array.hpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -380,6 +381,8 @@ public: StaticAssert::check(); StaticAssert::check(); Base::clear(); + if (ch == NULL) + handleFatalError("Null pointer in Array<>::operator=(const char*)"); while (*ch) push_back(*ch++); return *this; @@ -389,6 +392,8 @@ public: { StaticAssert::check(); StaticAssert::check(); + if (ch == NULL) + handleFatalError("Null pointer in Array<>::operator+=(const char*)"); while (*ch) push_back(*ch++); return *this;