buffer may not be large enough to convert to UCS4, patch from Christian

* encoding.c: buffer may not be  large enough to convert to
  UCS4, patch from Christian Fruth , fixes #504015
Daniel

svn path=/trunk/; revision=3727
diff --git a/ChangeLog b/ChangeLog
index 22fca10..ce64bee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Apr  3 11:44:57 CEST 2008 Daniel Veillard <daniel@veillard.com>
+
+	* encoding.c: buffer may not be  large enough to convert to
+	  UCS4, patch from Christian Fruth , fixes #504015
+
 Thu Apr  3 11:02:02 CEST 2008 Daniel Veillard <daniel@veillard.com>
 
 	* HTMLparser.c: apparently it's okay to forget the semicolumn after
diff --git a/encoding.c b/encoding.c
index 6d7a4ce..6c49fff 100644
--- a/encoding.c
+++ b/encoding.c
@@ -1992,8 +1992,8 @@
     toconv = in->use;
     if (toconv == 0)
 	return(0);
-    if (toconv * 2 >= written) {
-        xmlBufferGrow(out, toconv * 2);
+    if (toconv * 4 >= written) {
+        xmlBufferGrow(out, toconv * 4);
 	written = out->size - out->use - 1;
     }
     if (handler->output != NULL) {