From df4b4707a2eedcdf73b6f3604efa8f400c8ce342 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Wed, 25 Feb 2009 00:14:11 -0500 Subject: [PATCH] #1887. Escape characters which are not allowed to appear in attribute values. --- src/calibre/ebooks/lit/reader.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/lit/reader.py b/src/calibre/ebooks/lit/reader.py index 06f5ebdabb..407aedae1f 100644 --- a/src/calibre/ebooks/lit/reader.py +++ b/src/calibre/ebooks/lit/reader.py @@ -276,8 +276,11 @@ class UnBinary(object): state = 'get attr' elif count > 0: if not in_censorship: - self.buf.write(c.encode( - 'ascii', 'xmlcharrefreplace')) + if c == '"': + c = '"' + elif c == '<': + c = '<' + self.buf.write(c.encode('ascii', 'xmlcharrefreplace')) count -= 1 if count == 0: if not in_censorship: