< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] ParseBuffer::Exception thrown in XMLCursor::firstChild()


Hi,

 

I believe I have discovered a bug in XMLCursor::parseNextRootChild (), in the case of calling XMLCursor::firstChild() on a document that has a single self terminating root tag with no children, for example: ‘<root_tag /> ‘.

 

After what is assumed to be an opening tag is skipped, along with any following whitespace, calling

 

mRoot->mPb.position()

 

Results in the construction of a Pointer that has a false mIsValid due to eof() returning true. When that Pointer is dereferenced via the overloaded * operator, a ParseBuffer::Exception exception is thrown due to mIsValid being false.

 

I’m using resiprocate 1.1, although I believe the issue remains in trunk and the 1.2 branch.

 

Cheers,

David Hogan