diff options
Diffstat (limited to 'i18npool')
-rw-r--r-- | i18npool/source/transliteration/transliteration_body.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/i18npool/source/transliteration/transliteration_body.cxx b/i18npool/source/transliteration/transliteration_body.cxx index 3581212af8b3..1f4541082435 100644 --- a/i18npool/source/transliteration/transliteration_body.cxx +++ b/i18npool/source/transliteration/transliteration_body.cxx @@ -104,9 +104,8 @@ Transliteration_body::transliterateImpl( constexpr sal_Int32 nLocalBuf = 2048; sal_Unicode* out; std::unique_ptr<sal_Unicode[]> pHeapBuf; - size_t nBytes = (nCount + 1) * sizeof(sal_Unicode); - if (nBytes <= nLocalBuf * NMAPPINGMAX) - out = static_cast<sal_Unicode*>(alloca(nBytes)); + if (nCount <= nLocalBuf) + out = static_cast<sal_Unicode*>(alloca(nCount * NMAPPINGMAX * sizeof(sal_Unicode))); else { pHeapBuf.reset(new sal_Unicode[ nCount * NMAPPINGMAX ]); |