aboutsummaryrefslogtreecommitdiffstats
path: root/xmlreader.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2003-09-17 22:33:22 +0000
committerDaniel Veillard <veillard@src.gnome.org>2003-09-17 22:33:22 +0000
commitf6bc7c249e4e4a4189bedb5ef756c980491d08d8 (patch)
tree97a97f30c017da298553ff1cfb7f69df5c3704b9 /xmlreader.c
parentccc4d2b62ef2ae474b68168135cfbff47c499727 (diff)
downloadandroid_external_libxml2-f6bc7c249e4e4a4189bedb5ef756c980491d08d8.tar.gz
android_external_libxml2-f6bc7c249e4e4a4189bedb5ef756c980491d08d8.tar.bz2
android_external_libxml2-f6bc7c249e4e4a4189bedb5ef756c980491d08d8.zip
add a Timingtests target to check bad behaviour from the streaming engine
* Makefile.am: add a Timingtests target to check bad behaviour from the streaming engine * dbgen.pl dbgenattr.pl: perl script to generate big instances * xmlreader.c: fix a bad behaviour on large buffer inputs Daniel
Diffstat (limited to 'xmlreader.c')
-rw-r--r--xmlreader.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xmlreader.c b/xmlreader.c
index 30451b43..95920080 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -803,7 +803,8 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
* Discard the consumed input when needed and possible
*/
if (reader->mode == XML_TEXTREADER_MODE_INTERACTIVE) {
- if (reader->cur >= 4096) {
+ if ((reader->cur >= 4096) &&
+ (inbuf->use - reader->cur <= CHUNK_SIZE)) {
val = xmlBufferShrink(inbuf, reader->cur);
if (val >= 0) {
reader->cur -= val;