bugGNUstep - Bugs: bug #29955, Parsing of XML Plists is broken...

Group
 
 

bug #29955: Parsing of XML Plists is broken since gnustep-base 1.18

Submitter:  Michael Werle <mwerle>
Submitted:  Mon 24 May 2010 11:25:19 PM UTC
   
 
Category:  Base/Foundation Severity:  3 - Normal
Item Group:  Bug Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 25 May 2010 02:05:17 PM UTC, comment #4: 

Thanks, good to hear it's fixed.
The changes wouldn't go to 1.19.x, but should go into the first bugfix release of the new stable branch ... 1.20.1 as well as the next development snapshot release 1.21.1 when we make those releases.

Richard Frith-Macdonald <CaS>
Group Member
Tue 25 May 2010 01:54:28 PM UTC, comment #3: 

Wow - that was quick!  Initial testing indicates that the current trunk has resolved this bug.

Many thanks.

Will this fix be backported to the 1.19.x and/or 1.20.x versions as well?

Michael Werle <mwerle>
Tue 25 May 2010 12:15:39 PM UTC, comment #2: 

Thanks ... fixed that in svn trunk ... please give it a go.

Richard Frith-Macdonald <CaS>
Group Member
Tue 25 May 2010 09:03:43 AM UTC, comment #1: 

Please note that this bug refers to test-case #2 in the attached test program.


Clarification on test cases:

The test cases are intended to test several apparent XML-related problems reported for Oolite (http://www.oolite.org/). In our testing, tests 1, 2 and 6 fail in the affected versions of GNUstep. Tests 3, 4 and 5 pass.

Furthermore, removing the trailing space from test cases 1 & 6 allow them to also pass with all tested versions of GNUstep.

Michael Werle <mwerle>
Mon 24 May 2010 11:25:19 PM UTC, original submission:  

NSPropertyList.m

In changelist #28263, attempting to parse the plist using libxml2 was removed and only the custom parser left behind.

The custom parser appears to have a major bug, verified in 1.19.3, 1.20, and 1.21:

When the parser encounters XML entities (eg, &amp;, &quot;, etc), it correctly parses them, but also strips surrounding whitespace.

eg:
input:       <string>A &amp; B</string>
-> expect:   "A & B"
-> got:      "A&B"

Adding in the libxml2 code from 1.18 into later versions fixes this issue, as expected.

Michael Werle <mwerle>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #20610:  proplist.patch added by mwerle (7KiB - text/x-patch - plist-parser-test.m provided by Jens Ayton.)
file #20611:  plist-parser-test.m added by mwerle (12KiB - text/x-objcsrc - plist-parser-test.m provided by Jens Ayton.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by CaS (Posted a comment)
  • -email is unavailable- added by mwerle (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-05-25 CaS Open/ClosedIn Test Closed
    2010-05-25 CaS StatusNone Fixed
        Open/ClosedOpen In Test
    2010-05-24 mwerle Attached File- Added proplist.patch, #20610
        Attached File- Added plist-parser-test.m, #20611

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code