Bug 1307557 - Fix an out-of-bounds access in Element::DescribeAttribute(). r=dveditz

MozReview-Commit-ID: 15ItbWAQAPv

--HG--
extra : rebase_source : 4375d0268a633e964fd91427cb4b9e67c63d30b2
This commit is contained in:
Botond Ballo 2016-10-07 15:12:00 -04:00
parent 4df075436c
commit b3a474aa99

View File

@ -2813,9 +2813,9 @@ Element::DescribeAttribute(uint32_t index, nsAString& aOutDescription) const
aOutDescription.AppendLiteral("=\""); aOutDescription.AppendLiteral("=\"");
nsAutoString value; nsAutoString value;
mAttrsAndChildren.AttrAt(index)->ToString(value); mAttrsAndChildren.AttrAt(index)->ToString(value);
for (int i = value.Length(); i >= 0; --i) { for (uint32_t i = value.Length(); i > 0; --i) {
if (value[i] == char16_t('"')) if (value[i - 1] == char16_t('"'))
value.Insert(char16_t('\\'), uint32_t(i)); value.Insert(char16_t('\\'), i - 1);
} }
aOutDescription.Append(value); aOutDescription.Append(value);
aOutDescription.Append('"'); aOutDescription.Append('"');