[PATCH] Change in core[libreoffice-4-0]: Resolves: fdo#37449 apparent access into empty codepage bits...

Caolán McNamara (via_Code_Review) gerrit at gerrit.libreoffice.org
Tue Jan 15 08:41:53 PST 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/1702

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/02/1702/1

Resolves: fdo#37449 apparent access into empty codepage bitset

Change-Id: I2efc3ea10cd4313eaa1894fdfbffd113a125e2ba
(cherry picked from commit 5cd7c8906150b94c224ab9bc9f850684198c7f04)
---
M svtools/source/misc/sampletext.cxx
1 file changed, 12 insertions(+), 3 deletions(-)



diff --git a/svtools/source/misc/sampletext.cxx b/svtools/source/misc/sampletext.cxx
index 6b8cc61..3c0b173 100644
--- a/svtools/source/misc/sampletext.cxx
+++ b/svtools/source/misc/sampletext.cxx
@@ -634,6 +634,11 @@
 #if OSL_DEBUG_LEVEL > 2
     void lcl_dump_unicode_coverage(const boost::dynamic_bitset<sal_uInt32> &rIn)
     {
+        if (rIn.none())
+        {
+            fprintf(stderr, "<NONE>\n");
+            return;
+        }
         if (rIn[vcl::UnicodeCoverage::BASIC_LATIN])
             fprintf(stderr, "BASIC_LATIN\n");
         if (rIn[vcl::UnicodeCoverage::LATIN_1_SUPPLEMENT])
@@ -894,6 +899,11 @@
 
     void lcl_dump_codepage_coverage(const boost::dynamic_bitset<sal_uInt32> &rIn)
     {
+        if (rIn.none())
+        {
+            fprintf(stderr, "<NONE>\n");
+            return;
+        }
         if (rIn[vcl::CodePageCoverage::CP1252])
             fprintf(stderr, "CP1252\n");
         if (rIn[vcl::CodePageCoverage::CP1250])
@@ -1065,7 +1075,7 @@
         aMasked.set(vcl::UnicodeCoverage::PHAGS_PA, false);
 
         //So, possibly a CJK font
-        if (!aMasked.count())
+        if (!aMasked.count() && !rFontCapabilities.maCodePageRange.empty())
         {
             boost::dynamic_bitset<sal_uInt32> aCJKCodePageMask(vcl::CodePageCoverage::MAX_CP_ENUM);
             aCJKCodePageMask.set(vcl::CodePageCoverage::CP932);
@@ -1517,8 +1527,7 @@
             if (nScriptType != com::sun::star::i18n::ScriptType::ASIAN)
             {
                 aFontCapabilities.maUnicodeRange &= getCJKMask();
-                aFontCapabilities.maCodePageRange =
-                    boost::dynamic_bitset<sal_uInt32>(aFontCapabilities.maCodePageRange.size());
+                aFontCapabilities.maCodePageRange.clear();
             }
             if (nScriptType != com::sun::star::i18n::ScriptType::LATIN)
                 aFontCapabilities.maUnicodeRange &= getLatinMask();

-- 
To view, visit https://gerrit.libreoffice.org/1702
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2efc3ea10cd4313eaa1894fdfbffd113a125e2ba
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Caolán McNamara <caolanm at redhat.com>



More information about the LibreOffice mailing list