OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [SAX2] BUG in AttributesImpl

[ Lists Home | Date Index | Thread Index ]
  • From: Miles Sabin <msabin@cromwellmedia.co.uk>
  • To: Sebastien Sahuc <ssahuc@imediation.com>,David Megginson <david@megginson.com>, xml-dev@lists.xml.org
  • Date: Wed, 18 Oct 2000 22:51:32 +0100

Sebastien Sahuc wrote,
> When creating a new AttributesImpl instance and calling on it 
> the method setAttributes(atts) with an attributes object that 
> has NO attributes values, then the method addAttributes() go 
> into an infinite loop.

Well spotted.

I'm not so sure about your proposed fix tho'. I hadn't actually
looked at the implementation of AttributesImpl all that
closely, and it looks to me as tho' it needs a bit of work
(cue all you volunteer maintainers ;-)

I'd suggest at the very least a rewrite of ensure capacity
along these lines,

  private void ensureCapacity(int n)
  {
    n *= 5;

    int oldCapacity = (data != null ? data.length : 0);
    if(n > oldCapacity)
    {
      int newCapacity = (oldCapacity*2)+5;
      if(newCapacity < n)
        newCapactiy = n;

	String newData[] = new String[newCapacity];
	System.arraycopy(data, 0, newData, 0, length*5);
	data = newData;      
    }
  }

Cheers,


Miles

-- 
Miles Sabin                       Cromwell Media
Internet Systems Architect        5/6 Glenthorne Mews
+44 (0)20 8817 4030               London, W6 0LJ, England
msabin@cromwellmedia.com          http://www.cromwellmedia.com/





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS