diff --git a/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp b/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp index f4bca74e588..0550a6c4032 100644 --- a/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp +++ b/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp @@ -1522,7 +1522,12 @@ static const char kRDFLILiteral1[] = " "; static const char kRDFLILiteral2[] = "\n"; rdf_BlockingWrite(aStream, kRDFLILiteral1, sizeof(kRDFLILiteral1) - 1); - rdf_BlockingWrite(aStream, nsAutoString(NS_STATIC_CAST(const PRUnichar*, value))); + + nsAutoString s(value); + rdf_EscapeAmpersands(s); // do these first! + rdf_EscapeAngleBrackets(s); + + rdf_BlockingWrite(aStream, s); rdf_BlockingWrite(aStream, kRDFLILiteral2, sizeof(kRDFLILiteral2) - 1); } NS_RELEASE(literal);