[CSS Parser] Fix crash when parsing -webkit-margin-collapse
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Oct 2016 20:10:07 +0000 (20:10 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Oct 2016 20:10:07 +0000 (20:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=163753

Reviewed by Dean Jackson.

* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseShorthand):

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

Source/WebCore/ChangeLog
Source/WebCore/css/parser/CSSPropertyParser.cpp

index e5589ab..9d6dc48 100644 (file)
@@ -1,3 +1,13 @@
+2016-10-20  Dave Hyatt  <hyatt@apple.com>
+
+        [CSS Parser] Fix crash when parsing -webkit-margin-collapse
+        https://bugs.webkit.org/show_bug.cgi?id=163753
+
+        Reviewed by Dean Jackson.
+
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::CSSPropertyParser::parseShorthand):
+
 2016-10-20  Chris Dumez  <cdumez@apple.com>
 
         Passing a number as the pixel parameter to texImage2D() doesn't thrown an exception
index a3a3bfb..444dbfa 100644 (file)
@@ -4488,10 +4488,9 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID property, bool important)
         CSSValueID id = m_range.consumeIncludingWhitespace().id();
         if (!CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyWebkitMarginBeforeCollapse, id, m_context.mode))
             return false;
-        RefPtr<CSSValue> beforeCollapse = CSSValuePool::singleton().createIdentifierValue(id);
-        addProperty(CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginCollapse, beforeCollapse.releaseNonNull(), important);
+        addProperty(CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginCollapse, CSSValuePool::singleton().createIdentifierValue(id), important);
         if (m_range.atEnd()) {
-            addProperty(CSSPropertyWebkitMarginAfterCollapse, CSSPropertyWebkitMarginCollapse, beforeCollapse.releaseNonNull(), important);
+            addProperty(CSSPropertyWebkitMarginAfterCollapse, CSSPropertyWebkitMarginCollapse, CSSValuePool::singleton().createIdentifierValue(id), important);
             return true;
         }
         id = m_range.consumeIncludingWhitespace().id();