From 9b0aa5353b4a2d4a3b48ff0da1054fe999a7b227 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Sat, 15 Mar 2014 11:54:20 +0400 Subject: [PATCH] Array<> - more runtime checks --- libuavcan/include/uavcan/marshal/array.hpp | 5 +++++ 1 file changed, 5 insertions(+) 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;