Files
loongoffice/external/libvisio/ubsan.patch
Stephan Bergmann 60a51eaf48 external/libvisio: Avoid undefined behavior
Change-Id: Ia86ebe7cd48de3f42dd95a11be7926f1e83d9113
2015-12-27 21:19:04 +01:00

20 lines
683 B
Diff

--- src/lib/VSDContentCollector.cpp
+++ src/lib/VSDContentCollector.cpp
@@ -3220,7 +3220,7 @@
}
if (U_SUCCESS(status) && conv)
{
- const char *src = (const char *)&characters[0];
+ const char *src = (const char *)characters.data();
const char *srcLimit = (const char *)src + characters.size();
while (src < srcLimit)
{
@@ -3285,6 +3285,7 @@
_handleLevelChange(level);
librevenge::RVNGString text;
std::vector<unsigned char> tmpData(layerMem.m_data.size());
+ if (!layerMem.m_data.empty())
memcpy(&tmpData[0], layerMem.m_data.getDataBuffer(), layerMem.m_data.size());
appendCharacters(text, tmpData, layerMem.m_format);