dbertoni    01/12/07 12:13:30

  Modified:    c/src/PlatformSupport XalanNumberFormat.cpp
  Log:
  Make sure not to underun the buffer.
  
  Revision  Changes    Path
  1.11      +4 -3      xml-xalan/c/src/PlatformSupport/XalanNumberFormat.cpp
  
  Index: XalanNumberFormat.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/XalanNumberFormat.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XalanNumberFormat.cpp     2001/09/25 21:12:51     1.10
  +++ XalanNumberFormat.cpp     2001/12/07 20:13:30     1.11
  @@ -245,7 +245,8 @@
                }
                else
                {
  -                     const XalanDOMString::size_type         bufsize = len + 
len/m_groupingSize + 1;
  +                     // Add two, so we leave one byte at the beginning as 
empty space
  +                     const XalanDOMString::size_type         bufsize = len + 
len / m_groupingSize + 2;
   
                        XalanDOMChar* const             buffer = new 
XalanDOMChar[bufsize];
   
  @@ -255,14 +256,14 @@
   
                        *p-- = 0;       // null terminate
   
  -                     for (XalanDOMString::size_type i = 0, ix = len - 1; i < 
len; i++, ix--)
  +                     for (XalanDOMString::size_type i = 0, ix = len - 1; i < 
len && p > buffer; i++, ix--)
                        {
                                const XalanDOMChar              c = 
charAt(value, ix);
   
                                if (i && !(i% m_groupingSize))
                                {
                                        // Could be a multiple character 
separator??
  -                                     for (long j = 
long(m_groupingSeparator.length() - 1); j>=0; j--)
  +                                     for (long j = 
long(m_groupingSeparator.length() - 1); j >= 0 && p > buffer; j--)
                                                *p-- = 
charAt(m_groupingSeparator, j);
                                }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to