diff options
-rw-r--r-- | src/libutil/xml-writer.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libutil/xml-writer.cc b/src/libutil/xml-writer.cc index cd37dff5608f..27235933e7fb 100644 --- a/src/libutil/xml-writer.cc +++ b/src/libutil/xml-writer.cc @@ -89,6 +89,9 @@ void XMLWriter::writeAttrs(const XMLAttrs & attrs) if (c == '"') output << """; else if (c == '<') output << "<"; else if (c == '&') output << "&"; + /* Escape newlines to prevent attribute normalisation (see + XML spec, section 3.3.3. */ + else if (c == '\n') output << "
"; else output << c; } output << "\""; |