From efb2251ef84793accbcb8849069d839fcb267242 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Sat, 19 Apr 2014 16:42:39 +0400 Subject: [PATCH] strcmp() --> strncmp() --- libuavcan/include/uavcan/marshal/array.hpp | 2 +- libuavcan/src/node/uc_global_data_type_registry.cpp | 3 ++- libuavcan/src/uc_data_type.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libuavcan/include/uavcan/marshal/array.hpp b/libuavcan/include/uavcan/marshal/array.hpp index b4b1e78151..89d6190474 100644 --- a/libuavcan/include/uavcan/marshal/array.hpp +++ b/libuavcan/include/uavcan/marshal/array.hpp @@ -545,7 +545,7 @@ public: { return false; } - return std::strcmp(Base::c_str(), ch) == 0; + return std::strncmp(Base::c_str(), ch, MaxSize) == 0; } template bool operator!=(const R& rhs) const { return !operator==(rhs); } diff --git a/libuavcan/src/node/uc_global_data_type_registry.cpp b/libuavcan/src/node/uc_global_data_type_registry.cpp index 9cb2ce35ef..4bbb6664bf 100644 --- a/libuavcan/src/node/uc_global_data_type_registry.cpp +++ b/libuavcan/src/node/uc_global_data_type_registry.cpp @@ -87,7 +87,8 @@ GlobalDataTypeRegistry::RegistResult GlobalDataTypeRegistry::registImpl(Entry* d { return RegistResultCollision; } - if (!std::strcmp(p->descriptor.getFullName(), dtd->descriptor.getFullName())) // Name collision + if (!std::strncmp(p->descriptor.getFullName(), dtd->descriptor.getFullName(), + DataTypeDescriptor::MaxFullNameLen)) // Name collision { return RegistResultCollision; } diff --git a/libuavcan/src/uc_data_type.cpp b/libuavcan/src/uc_data_type.cpp index 3876b00bc4..4f37007df2 100644 --- a/libuavcan/src/uc_data_type.cpp +++ b/libuavcan/src/uc_data_type.cpp @@ -80,7 +80,7 @@ const unsigned DataTypeDescriptor::MaxFullNameLen; bool DataTypeDescriptor::match(DataTypeKind kind, const char* name) const { - return (kind_ == kind) && !std::strcmp(full_name_, name); + return (kind_ == kind) && !std::strncmp(full_name_, name, MaxFullNameLen); } bool DataTypeDescriptor::match(DataTypeKind kind, DataTypeID id) const