Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > media > main-src > by-pkgid > 6709f41e1c9c0ac6e610e609c299d4fb > files > 5

libxml2-2.6.26-2.1.12.el5_7.2.src.rpm

commit 69f04562f75212bfcabecd190ea8b06ace28ece2
Author: Daniel Veillard <veillard@redhat.com>
Date:   Fri Aug 19 11:05:04 2011 +0800

    Fix an off by one error in encoding
    
    this off by one error doesn't seems to reproduce on linux
    but the error is real.

diff --git a/encoding.c b/encoding.c
index d1140bf..fb0c38a 100644
--- a/encoding.c
+++ b/encoding.c
@@ -1755,7 +1755,7 @@ xmlCharEncFirstLine(xmlCharEncodingHandl
     if (out == NULL) return(-1);
     if (in == NULL) return(-1);
 
-    written = out->size - out->use;
+    written = out->size - out->use - 1; /* count '\0' */
     toconv = in->use;
     if (toconv * 2 >= written) {
         xmlBufferGrow(out, toconv);
@@ -1848,7 +1848,7 @@ xmlCharEncInFunc(xmlCharEncodingHandler
     toconv = in->use;
     if (toconv == 0)
         return (0);
-    written = out->size - out->use;
+    written = out->size - out->use -1; /* count '\0' */
     if (toconv * 2 >= written) {
         xmlBufferGrow(out, out->size + toconv * 2);
         written = out->size - out->use - 1;