Skip to content

Commit 97b38c8

Browse files
committed
[C++] Cast memcpy argument to size_t
1 parent fef655d commit 97b38c8

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ private CharSequence generateVarData(final String className, final List<Token> t
472472
indent + " std::uint64_t bytesToCopy = length < dataLength ? length : dataLength;\n" +
473473
indent + " std::uint64_t pos = sbePosition();\n" +
474474
indent + " sbePosition(pos + dataLength);\n" +
475-
indent + " std::memcpy(dst, m_buffer + pos, bytesToCopy);\n" +
475+
indent + " std::memcpy(dst, m_buffer + pos, static_cast<size_t>(bytesToCopy));\n" +
476476
indent + " return bytesToCopy;\n" +
477477
indent + " }\n",
478478
propertyName,
@@ -1441,7 +1441,8 @@ private CharSequence generateArrayProperty(
14411441
indent + " }\n\n" +
14421442

14431443
"%3$s" +
1444-
indent + " std::memcpy(dst, m_buffer + m_offset + %4$d, sizeof(%5$s) * length);\n" +
1444+
indent + " std::memcpy(dst, m_buffer + m_offset + %4$d, " +
1445+
"sizeof(%5$s) * static_cast<size_t>(length));\n" +
14451446
indent + " return length;\n" +
14461447
indent + " }\n",
14471448
toUpperFirstChar(propertyName),
@@ -1643,7 +1644,7 @@ private CharSequence generateConstPropertyMethods(
16431644
indent + " std::uint64_t bytesToCopy = " +
16441645
"length < sizeof(%2$sValues) ? length : sizeof(%2$sValues);\n\n" +
16451646

1646-
indent + " std::memcpy(dst, %2$sValues, bytesToCopy);\n" +
1647+
indent + " std::memcpy(dst, %2$sValues, static_cast<size_t>(bytesToCopy));\n" +
16471648
indent + " return bytesToCopy;\n" +
16481649
indent + " }\n",
16491650
toUpperFirstChar(propertyName),

0 commit comments

Comments
 (0)