forked from boostorg/regex
Apply changes from https://github.com/boostorg/regex/pull/16
This commit is contained in:
@ -198,9 +198,10 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{
|
|||||||
const char *strSource
|
const char *strSource
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if(std::strlen(strSource)+1 > sizeInBytes)
|
std::size_t lenSourceWithNull = std::strlen(strSource) + 1;
|
||||||
|
if (lenSourceWithNull > sizeInBytes)
|
||||||
return 1;
|
return 1;
|
||||||
std::strcpy(strDestination, strSource);
|
std::memcpy(strDestination, strSource, lenSourceWithNull);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
inline std::size_t strcat_s(
|
inline std::size_t strcat_s(
|
||||||
@ -209,9 +210,11 @@ namespace boost{ namespace BOOST_REGEX_DETAIL_NS{
|
|||||||
const char *strSource
|
const char *strSource
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if(std::strlen(strSource) + std::strlen(strDestination) + 1 > sizeInBytes)
|
std::size_t lenSourceWithNull = std::strlen(strSource) + 1;
|
||||||
|
std::size_t lenDestination = std::strlen(strDestination);
|
||||||
|
if (lenSourceWithNull + lenDestination > sizeInBytes)
|
||||||
return 1;
|
return 1;
|
||||||
std::strcat(strDestination, strSource);
|
std::memcpy(strDestination + lenDestination, strSource, lenSourceWithNull);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user