c++.stlsoft - Debug-build faulty assertion with winstl/system/system_traits.hpp
- Austin Ziegler (20/20) Sep 11 2008 Hi.
- Matthew Wilson (4/24) Sep 11 2008 size of a buffer. See the patch below.
Hi. Found a debug-build issue with system_traits.hpp in that it asserts incorrectly when part of WinSTL is trying to get the necessary size of a buffer. See the patch below. ==== //depot/agent/main/ThirdPartySource/stlsoft/include/winstl/system //depot/agent/main/ThirdPartySource/stlsoft/include/winstl/system -544,7 +544,7 static size_type expand_environment_strings(char_type const* src, char_type* dest, size_type cch_dest) { WINSTL_ASSERT(NULL != src); - WINSTL_ASSERT(NULL != dest); + WINSTL_ASSERT(NULL != dest || 0 == cch_dest); return class_type::ExpandEnvironmentStringsA(src, dest, cch_dest); } -881,7 +881,7 static size_type expand_environment_strings(char_type const* src, char_type* dest, size_type cch_dest) { WINSTL_ASSERT(NULL != src); - WINSTL_ASSERT(NULL != dest); + WINSTL_ASSERT(NULL != dest || 0 == cch_dest); return class_type::ExpandEnvironmentStringsW(src, dest, cch_dest); } -austin
Sep 11 2008
Thanks for that. This is now fixed, and will be in the next release. "Austin Ziegler" <austin.ziegler evault.com> wrote in message news:gac02c$fil$1 digitalmars.com...Hi. Found a debug-build issue with system_traits.hpp in that it asserts incorrectly when part of WinSTL is trying to get the necessarysize of a buffer. See the patch below.==== //depot/agent/main/ThirdPartySource/stlsoft/include/winstl/system//depot/agent/main/ThirdPartySource/stlsoft/include/winstl/system-544,7 +544,7 static size_type expand_environment_strings(char_type const* src, char_type* dest, size_type cch_dest) { WINSTL_ASSERT(NULL != src); - WINSTL_ASSERT(NULL != dest); + WINSTL_ASSERT(NULL != dest || 0 == cch_dest); return class_type::ExpandEnvironmentStringsA(src, dest, cch_dest); } -881,7 +881,7 static size_type expand_environment_strings(char_type const* src, char_type* dest, size_type cch_dest) { WINSTL_ASSERT(NULL != src); - WINSTL_ASSERT(NULL != dest); + WINSTL_ASSERT(NULL != dest || 0 == cch_dest); return class_type::ExpandEnvironmentStringsW(src, dest, cch_dest); } -austin
Sep 11 2008