From d3ebc3a0fff9aa50e8f4a61315fc35b35bbeccb1 Mon Sep 17 00:00:00 2001 From: "karnaze%netscape.com" Date: Mon, 13 Sep 1999 20:18:33 +0000 Subject: [PATCH] bug 7604 - limit colspan to max of 1000 git-svn-id: svn://10.0.0.236/trunk@47151 18797224-902f-48f8-a5cc-f745e15eee43 --- .../content/html/content/src/nsHTMLTableCellElement.cpp | 7 +++++++ mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp b/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp index 23c89f4fbd8..5fcf6d15b1a 100644 --- a/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp +++ b/mozilla/content/html/content/src/nsHTMLTableCellElement.cpp @@ -327,6 +327,8 @@ static nsGenericHTMLElement::EnumTable kCellScopeTable[] = { { 0 } }; +#define MAX_COLSPAN 1000 + NS_IMETHODIMP nsHTMLTableCellElement::StringToAttribute(nsIAtom* aAttribute, const nsString& aValue, @@ -346,6 +348,11 @@ nsHTMLTableCellElement::StringToAttribute(nsIAtom* aAttribute, else if ((aAttribute == nsHTMLAtoms::colspan) || (aAttribute == nsHTMLAtoms::rowspan)) { if (nsGenericHTMLElement::ParseValue(aValue, 1, aResult, eHTMLUnit_Integer)) { + PRInt32 val = aResult.GetIntValue(); + if (val > MAX_COLSPAN) { + nsHTMLUnit unit = aResult.GetUnit(); + aResult.SetIntValue(MAX_COLSPAN, unit); + } return NS_CONTENT_ATTR_HAS_VALUE; } } diff --git a/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp index 23c89f4fbd8..5fcf6d15b1a 100644 --- a/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp +++ b/mozilla/layout/html/content/src/nsHTMLTableCellElement.cpp @@ -327,6 +327,8 @@ static nsGenericHTMLElement::EnumTable kCellScopeTable[] = { { 0 } }; +#define MAX_COLSPAN 1000 + NS_IMETHODIMP nsHTMLTableCellElement::StringToAttribute(nsIAtom* aAttribute, const nsString& aValue, @@ -346,6 +348,11 @@ nsHTMLTableCellElement::StringToAttribute(nsIAtom* aAttribute, else if ((aAttribute == nsHTMLAtoms::colspan) || (aAttribute == nsHTMLAtoms::rowspan)) { if (nsGenericHTMLElement::ParseValue(aValue, 1, aResult, eHTMLUnit_Integer)) { + PRInt32 val = aResult.GetIntValue(); + if (val > MAX_COLSPAN) { + nsHTMLUnit unit = aResult.GetUnit(); + aResult.SetIntValue(MAX_COLSPAN, unit); + } return NS_CONTENT_ATTR_HAS_VALUE; } }