From 1b75c4878355d616c17e59f9717288cd0962fa99 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Mon, 27 Apr 2015 10:31:21 +0300 Subject: [PATCH] Fixed #21 --- libuavcan/CMakeLists.txt | 2 +- libuavcan/include/uavcan/marshal/array.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libuavcan/CMakeLists.txt b/libuavcan/CMakeLists.txt index fc4afc96ad..f40f0f8c5b 100644 --- a/libuavcan/CMakeLists.txt +++ b/libuavcan/CMakeLists.txt @@ -102,7 +102,7 @@ if (DEBUG_BUILD) if (COMPILER_IS_GCC_COMPATIBLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -pedantic -Wfloat-equal -Wconversion") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsign-conversion -Wcast-align -Wmissing-declarations") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsign-conversion -Wcast-align -Wmissing-declarations -Wlogical-op") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=array-bounds") set(cpp03_flags "-std=c++03 -Wno-variadic-macros -Wno-long-long") set(optim_flags "-O3 -DNDEBUG -g0") diff --git a/libuavcan/include/uavcan/marshal/array.hpp b/libuavcan/include/uavcan/marshal/array.hpp index 94f3060bd8..fb17b68dea 100644 --- a/libuavcan/include/uavcan/marshal/array.hpp +++ b/libuavcan/include/uavcan/marshal/array.hpp @@ -513,7 +513,7 @@ class UAVCAN_EXPORT Array : public ArrayImpl { return res_sz; } - if ((sz > 0) && ((sz - 1u) > (MaxSize_ - 1u))) // -Werror=type-limits + if (static_cast(sz) > MaxSize_) { return -ErrInvalidMarshalData; }