From ac0761806a2e001ba95a2f021c992e0cc082a235 Mon Sep 17 00:00:00 2001 From: mich4elb <73773462+mich4elb@users.noreply.github.com> Date: Sun, 1 Aug 2021 13:47:40 +0300 Subject: [PATCH 1/2] Update tinyxml.h added a macro to be used as a conditional in tinyxml.cpp for different parameter usage of _snprintf_s --- tinyxml.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tinyxml.h b/tinyxml.h index 09ebd2c..f67f4c8 100644 --- a/tinyxml.h +++ b/tinyxml.h @@ -61,6 +61,7 @@ distribution. #ifdef TIXML_SAFE #if defined(_MSC_VER) && (_MSC_VER >= 1400 ) // Microsoft visual studio, version 2005 and higher. + #define TIXML_SNPRINTF_S #define TIXML_SNPRINTF _snprintf_s #define TIXML_SSCANF sscanf_s #elif defined(_MSC_VER) && (_MSC_VER >= 1200 ) From 7faf078b7dea47a660be95409248ce4617b5c0b4 Mon Sep 17 00:00:00 2001 From: mich4elb <73773462+mich4elb@users.noreply.github.com> Date: Sun, 1 Aug 2021 13:53:05 +0300 Subject: [PATCH 2/2] Update tinyxml.cpp different parameter usage for _snprintf_s, also added the relevant macro of TIXML_SNPRINTF_S in tinyxml.h --- tinyxml.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tinyxml.cpp b/tinyxml.cpp index 9c161df..22dadca 100644 --- a/tinyxml.cpp +++ b/tinyxml.cpp @@ -112,7 +112,12 @@ void TiXmlBase::EncodeString( const TIXML_STRING& str, TIXML_STRING* outString ) char buf[ 32 ]; #if defined(TIXML_SNPRINTF) - TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) ); + #if defined(TIXML_SNPRINTF_S) + TIXML_SNPRINTF( buf, sizeof(buf), _TRUNCATE, "&#x%02X;", (unsigned) ( c & 0xff ) ); + #else + TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) ); + buf[sizeof(buf) - 1] = '\0'; + #endif #else sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) ); #endif