From 7eaf1e93889568b6cd9f721b42a3fd4bbe59f8b6 Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Thu, 28 Mar 2013 13:06:36 +0100
Subject: Half-assed attempt at enforcing operator [] preconditions

...inspired by comments to <https://gerrit.libreoffice.org/#/c/3068/>
"String::AppendAscii cleanup in dbaccess," but it quickly becomes apparent that
lots of code rely on s[s.getLength()] == 0, so live with a weakened precondition
check for now.

Change-Id: Ifad96c706b14433df4a084ab8054b32433b8b5b6
---
 l10ntools/source/lngmerge.cxx | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'l10ntools/source/lngmerge.cxx')

diff --git a/l10ntools/source/lngmerge.cxx b/l10ntools/source/lngmerge.cxx
index 052f9705ab1e..364087d4e9e3 100644
--- a/l10ntools/source/lngmerge.cxx
+++ b/l10ntools/source/lngmerge.cxx
@@ -194,7 +194,8 @@ sal_Bool LngParser::Merge(
     {
         rtl::OString sLine( *(*pLines)[ nPos ] );
         sLine = sLine.trim();
-        if (( sLine[0] == '[' ) &&
+        if (!sLine.isEmpty() &&
+            ( sLine[0] == '[' ) &&
             ( sLine[sLine.getLength() - 1] == ']' ))
         {
             sGroup = getBracketedContent(sLine).trim();
@@ -220,7 +221,8 @@ sal_Bool LngParser::Merge(
         {
             rtl::OString sLine( *(*pLines)[ nPos ] );
             sLine = sLine.trim();
-            if (( sLine[0] == '[' ) &&
+            if (!sLine.isEmpty() &&
+                ( sLine[0] == '[' ) &&
                 ( sLine[sLine.getLength() - 1] == ']' ))
             {
                 sGroup = getBracketedContent(sLine).trim();
-- 
cgit