|
|
#include "libxml.h" | #include "libxml.h" |
| |
#include <string.h> /* for memset() only ! */ | #include <string.h> /* for memset() only ! */ |
|
#include <limits.h> |
#ifdef HAVE_CTYPE_H | #ifdef HAVE_CTYPE_H |
#include <ctype.h> | #include <ctype.h> |
#endif | #endif |
|
|
case XML_BUFFER_ALLOC_DOUBLEIT: | case XML_BUFFER_ALLOC_DOUBLEIT: |
/*take care of empty case*/ | /*take care of empty case*/ |
newSize = (buf->size ? buf->size*2 : size + 10); | newSize = (buf->size ? buf->size*2 : size + 10); |
while (size > newSize) newSize *= 2; |
while (size > newSize) { |
|
if (newSize > UINT_MAX / 2) { |
|
xmlTreeErrMemory("growing buffer"); |
|
return 0; |
|
} |
|
newSize *= 2; |
|
} |
break; | break; |
case XML_BUFFER_ALLOC_EXACT: | case XML_BUFFER_ALLOC_EXACT: |
newSize = size+10; | newSize = size+10; |