sc/source/core/tool/interpr1.cxx |   23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

New commits:
commit 1daa4ad0c9094ba43b8078e72130d49312da22da
Author: Eike Rathke <er...@redhat.com>
Date:   Mon Apr 13 18:06:46 2015 +0200

    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.mohrh...@googlemail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    (cherry picked from commit 468b868c6209e26ab29d83ccacd007fcf785402a)
    Signed-off-by: Michael Stahl <mst...@redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/15425
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Eike Rathke <er...@redhat.com>

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index c77b72a..55917d7 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() );
+    }
 }
 
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to