diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2012-07-13 15:15:57 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2012-07-13 15:18:41 +0200 |
commit | fc508908f55cc1fe5a22adcba710cebb75fc979c (patch) | |
tree | 462cf70ea6402081f16df60e22a9114418c71a17 /xmloff/source | |
parent | 413554a3bd3e7236bd60e4e36f063351f3d31293 (diff) |
fix a crash with empty string
If it's named nLast, then it's supposed to point to the last character,
which, with an empty string, logically means it should point before
the start of the string.
Change-Id: I248fbe80c1c4b1c2c8d39f0bcf772f9b85415e4a
Diffstat (limited to 'xmloff/source')
-rw-r--r-- | xmloff/source/style/fonthdl.cxx | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/xmloff/source/style/fonthdl.cxx b/xmloff/source/style/fonthdl.cxx index 3d581977305c..f4d1705fa357 100644 --- a/xmloff/source/style/fonthdl.cxx +++ b/xmloff/source/style/fonthdl.cxx @@ -85,12 +85,10 @@ sal_Bool XMLFontFamilyNamePropHdl::importXML( const OUString& rStrImpValue, uno: { sal_Int32 nFirst = nPos; nPos = ::sax::Converter::indexOfComma( rStrImpValue, nPos ); - sal_Int32 nLast = (-1 == nPos ? rStrImpValue.getLength() : nPos); - if( nLast > 0 ) - nLast--; + sal_Int32 nLast = (-1 == nPos ? rStrImpValue.getLength() - 1 : nPos - 1); // skip trailing blanks - while( sal_Unicode(' ') == rStrImpValue[nLast] && nLast > nFirst ) + while( nLast > nFirst && sal_Unicode(' ') == rStrImpValue[nLast] ) nLast--; // skip leading blanks |