summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-04-13 18:06:46 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-04-13 19:56:30 +0000
commit468b868c6209e26ab29d83ccacd007fcf785402a (patch)
tree5b54a75d08fa8c64f1e711ad068ee7451f627250 /sc
parentdee3f93a9e82fe320ce2de7078a32ecaa25e9c1b (diff)
string access out of bounds
Another UniString to OUString conversion fallout. Change-Id: I5e62b049da3e7f8b5a892ea6aae7110a33564a46 (cherry picked from commit 9f52efa43b2d65c0b6c92790cc2859e752bf975f) Reviewed-on: https://gerrit.libreoffice.org/15287 Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/interpr1.cxx23
1 files changed, 14 insertions, 9 deletions
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index c77b72ab1ab3..55917d7154a9 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -3254,15 +3254,20 @@ void ScInterpreter::ScCode()
{
//2do: make it full range unicode?
OUString aStr = GetString().getString();
- //"classic" ByteString conversion flags
- const sal_uInt32 convertFlags =
- RTL_UNICODETOTEXT_FLAGS_NONSPACING_IGNORE |
- RTL_UNICODETOTEXT_FLAGS_CONTROL_IGNORE |
- RTL_UNICODETOTEXT_FLAGS_FLUSH |
- RTL_UNICODETOTEXT_FLAGS_UNDEFINED_DEFAULT |
- RTL_UNICODETOTEXT_FLAGS_INVALID_DEFAULT |
- RTL_UNICODETOTEXT_FLAGS_UNDEFINED_REPLACE;
- PushInt( (unsigned char) OUStringToOString(OUString(aStr[0]), osl_getThreadTextEncoding(), convertFlags).toChar() );
+ if (aStr.isEmpty())
+ PushInt(0);
+ else
+ {
+ //"classic" ByteString conversion flags
+ const sal_uInt32 convertFlags =
+ RTL_UNICODETOTEXT_FLAGS_NONSPACING_IGNORE |
+ RTL_UNICODETOTEXT_FLAGS_CONTROL_IGNORE |
+ RTL_UNICODETOTEXT_FLAGS_FLUSH |
+ RTL_UNICODETOTEXT_FLAGS_UNDEFINED_DEFAULT |
+ RTL_UNICODETOTEXT_FLAGS_INVALID_DEFAULT |
+ RTL_UNICODETOTEXT_FLAGS_UNDEFINED_REPLACE;
+ PushInt( (unsigned char) OUStringToOString(OUString(aStr[0]), osl_getThreadTextEncoding(), convertFlags).toChar() );
+ }
}