2008-01-12 Dimitri Glazkov <dglazkov@chromium.org>
authordglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Jan 2009 19:10:03 +0000 (19:10 +0000)
committerdglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Jan 2009 19:10:03 +0000 (19:10 +0000)
        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22936
        Fix uninitialized memory read error, reported by Purify.

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData): Added initializer for
            m_unitsPerEm using cDefaultUnitsPerEm constant.
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with
            the constant.
        * svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@39828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/graphics/SimpleFontData.cpp
WebCore/svg/SVGFontFaceElement.cpp
WebCore/svg/SVGFontFaceElement.h

index d99cad1c954f8d3a76faabcb4e7d9cc7b4834c52..806c685c19008af0f917f7f62c532b5f6913685b 100644 (file)
@@ -1,3 +1,18 @@
+2008-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22936
+        Fix uninitialized memory read error, reported by Purify.
+
+        * platform/graphics/SimpleFontData.cpp:
+        (WebCore::SimpleFontData::SimpleFontData): Added initializer for
+            m_unitsPerEm using cDefaultUnitsPerEm constant.
+        * svg/SVGFontFaceElement.cpp:
+        (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with
+            the constant.
+        * svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant.
+
 2009-01-12  Adam Treat  <adam.treat@torchmobile.com>
 
         Reviewed by George Staikos.
index 295a249712c78d20ca3ebb12d54cc03e0f4986f5..86992258c7dae45b34a888dd00f855ff4d4af4f9 100644 (file)
@@ -41,7 +41,8 @@
 namespace WebCore {
 
 SimpleFontData::SimpleFontData(const FontPlatformData& f, bool customFont, bool loading, SVGFontData* svgFontData)
-    : m_font(f)
+    : m_unitsPerEm(defaultUnitsPerEm)
+    , m_font(f)
     , m_treatAsFixedPitch(false)
 #if ENABLE(SVG_FONTS)
     , m_svgFontData(svgFontData)
index 21fd277d6216c674327e9790da5908da62cfb8ad..d4e89e819ede40903cb79752c711fa38585b39d6 100644 (file)
@@ -133,7 +133,7 @@ unsigned SVGFontFaceElement::unitsPerEm() const
 {
     const AtomicString& value = getAttribute(units_per_emAttr);
     if (value.isEmpty())
-        return 1000;
+        return defaultUnitsPerEm;
 
     return static_cast<unsigned>(ceilf(value.toFloat()));
 }
index 3c28a8961e534da1f264de95acdfc4cd3d518d57..9055f5e90a25f30c25446143d8c6cd4e9a4722a1 100644 (file)
@@ -31,6 +31,8 @@ namespace WebCore {
     class CSSMutableStyleDeclaration;
     class SVGFontElement;
 
+    const unsigned defaultUnitsPerEm = 1000;
+
     class SVGFontFaceElement : public SVGElement {
     public:
         SVGFontFaceElement(const QualifiedName&, Document*);