openclipart import fails when descriptions contain entities

Bug #179326 reported by bbyak
12
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Kees Cook

Bug Description

for example search for "lion" - no list is shown, the console shows:

/tmp/ocalfeed.xml:73: parser error : Entity 'uuml' not defined
      <content:encoded>Coat of arms of Russion, Z&uuml;rich, Switzerland</conten
                                                       ^
/tmp/ocalfeed.xml:86: parser error : Entity 'uuml' not defined
      <content:encoded>Coat of arms of Andelfingen, Z&uuml;rich, Switzerland</co
                                                           ^
/tmp/ocalfeed.xml:125: parser error : Entity 'auml' not defined
      <content:encoded>Coat of arms of Pf&auml;ffikon, Z&uuml;rich, Switzerland<
                                               ^
/tmp/ocalfeed.xml:125: parser error : Entity 'uuml' not defined
      <content:encoded>Coat of arms of Pf&auml;ffikon, Z&uuml;rich, Switzerland<
                                                              ^
/tmp/ocalfeed.xml:164: parser error : Entity 'szlig' not defined
      <content:encoded>Wappentier von Gie&szlig;en: roter L&ouml;we mit schwarze
                                                ^
/tmp/ocalfeed.xml:164: parser error : Entity 'ouml' not defined
      <content:encoded>Wappentier von Gie&szlig;en: roter L&ouml;we mit schwarze
                                                                 ^
/tmp/ocalfeed.xml:164: parser error : Entity 'uuml' not defined
tent:encoded>Wappentier von Gie&szlig;en: roter L&ouml;we mit schwarzen Fl&uuml;
                                                                               ^

Revision history for this message
bbyak (buliabyak) wrote :

This constitutes a good share of all ocal searches, so it makes this feature almost useless. Since it is one of the important new features in 0.46, raising priority.

Changed in inkscape:
importance: Undecided → Critical
status: New → Confirmed
Revision history for this message
MenTaLguY (mental-deactivatedaccount) wrote :

Unfortunately this is an ocal bug rather than an Inkscape bug; entites like &uuml; etc. are specific to HTML and don't exist in XML. If the OCAL uses them then it needs to define the values for those entities in an internal DTD subset.

Revision history for this message
In , Bryce Harrington (bryce) wrote :

When doing an import from openclipart via Inkscape for example, we see:

search for "lion" - no list is shown, the console shows:

/tmp/ocalfeed.xml:73: parser error : Entity 'uuml' not defined
      <content:encoded>Coat of arms of Russion, Z&uuml;rich, Switzerland</conten
                                                       ^
/tmp/ocalfeed.xml:86: parser error : Entity 'uuml' not defined
      <content:encoded>Coat of arms of Andelfingen, Z&uuml;rich, Switzerland</co
                                                           ^
/tmp/ocalfeed.xml:125: parser error : Entity 'auml' not defined
      <content:encoded>Coat of arms of Pf&auml;ffikon, Z&uuml;rich, Switzerland<
                                               ^
/tmp/ocalfeed.xml:125: parser error : Entity 'uuml' not defined
      <content:encoded>Coat of arms of Pf&auml;ffikon, Z&uuml;rich, Switzerland<
                                                              ^
/tmp/ocalfeed.xml:164: parser error : Entity 'szlig' not defined
      <content:encoded>Wappentier von Gie&szlig;en: roter L&ouml;we mit schwarze
                                                ^
/tmp/ocalfeed.xml:164: parser error : Entity 'ouml' not defined
      <content:encoded>Wappentier von Gie&szlig;en: roter L&ouml;we mit schwarze
                                                                 ^
/tmp/ocalfeed.xml:164: parser error : Entity 'uuml' not defined
tent:encoded>Wappentier von Gie&szlig;en: roter L&ouml;we mit schwarzen Fl&uuml;
                                                                               ^

This constitutes a good share of all ocal searches, so it makes this feature almost useless in Inkscape. It's extremely high priority for Inkscape 0.46.

Unfortunately this is an ocal bug rather than an Inkscape bug; entites like &uuml; etc. are specific to HTML and don't exist in XML. If the OCAL uses them then it needs to define the values for those entities in an internal DTD subset.

For original report, please see: https://bugs.launchpad.net/inkscape/+bug/179326

Changed in openclipart:
status: Unknown → Confirmed
Revision history for this message
Lubomir Rintel (lkundrak) wrote :

The situation is not so tragic or hard to fix or work around. Subtle bugs like this are no good reason to stop processing the document; passing XML_PARSE_RECOVER flag to xmlRead* will do. We don't use the strings with problematic entities at all anyways.

inkscape-0.46pre1-ocal2.patch from bug #191847 does that, passing the flag to xmlReadIO that it uses instead xmlReadFile (for other, security, reason). This is already in Fedora's testing and devel and seems to work well.

Revision history for this message
Kees Cook (kees) wrote :

Thanks! This will be in SVN shortly. :)

Changed in inkscape:
assignee: nobody → keescook
importance: Critical → High
status: Confirmed → Fix Committed
Kees Cook (kees)
Changed in inkscape:
status: Fix Committed → Fix Released
Changed in openclipart:
importance: Unknown → Critical
status: Confirmed → Won't Fix
Changed in openclipart:
importance: Critical → Unknown
status: Won't Fix → Confirmed
Bassel Safadi (bassel)
Changed in openclipart:
status: Confirmed → Invalid
Changed in openclipart:
status: Invalid → Confirmed
Bassel Safadi (bassel)
Changed in openclipart:
status: Confirmed → Fix Released
Changed in openclipart:
status: Fix Released → Confirmed
Bassel Safadi (bassel)
Changed in openclipart:
status: Confirmed → Invalid
Changed in openclipart:
status: Invalid → Confirmed
Bassel Safadi (bassel)
Changed in openclipart:
status: Confirmed → Invalid
Changed in openclipart:
status: Invalid → Confirmed
Revision history for this message
In , Tollef Fog Heen (tfheen) wrote :

Closing all openclipart bugs as openclipart is now on launchpad, as per request from Jon Philips.

Changed in openclipart:
importance: Unknown → Critical
status: Confirmed → Won't Fix
Changed in openclipart:
importance: Critical → Unknown
Changed in openclipart:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.