[xmlrpc-c/f16] fixed error handling when transfering too large files (#741980)

ensc ensc at fedoraproject.org
Mon Oct 3 18:57:52 UTC 2011


commit e009ec58bbc5cef3080384d77bf652a9cc5689f7
Author: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date:   Mon Oct 3 20:57:02 2011 +0200

    fixed error handling when transfering too large files (#741980)

 xmlrpc-c-struct-serialize.patch |   29 +++++++++++++++++++++++++++++
 xmlrpc-c.spec                   |    7 ++++++-
 2 files changed, 35 insertions(+), 1 deletions(-)
---
diff --git a/xmlrpc-c-struct-serialize.patch b/xmlrpc-c-struct-serialize.patch
new file mode 100644
index 0000000..cba3b50
--- /dev/null
+++ b/xmlrpc-c-struct-serialize.patch
@@ -0,0 +1,29 @@
+From 9b65c6488a51d36513b9315c11dfb42f319079ac Mon Sep 17 00:00:00 2001
+From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
+Date: Mon, 3 Oct 2011 20:49:57 +0200
+Subject: [PATCH] xmlrpc_serialize: check for faults before appending
+ </struct>
+
+fixes https://bugzilla.redhat.com/show_bug.cgi?id=741980 which was
+caused by transmitting too large files within a structure.
+---
+ src/xmlrpc_serialize.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/src/xmlrpc_serialize.c b/src/xmlrpc_serialize.c
+index 78bbc10..e0d9376 100644
+--- a/src/xmlrpc_serialize.c
++++ b/src/xmlrpc_serialize.c
+@@ -370,7 +370,8 @@ serializeStruct(xmlrpc_env *       const envP,
+                                           memberKeyP, memberValueP, dialect);
+                 }
+             }
+-            addString(envP, outputP, "</struct>");
++            if (!envP->fault_occurred)
++                addString(envP, outputP, "</struct>");
+         }
+     }
+ }
+-- 
+1.7.6
+
diff --git a/xmlrpc-c.spec b/xmlrpc-c.spec
index 4bbe91a..4d8c923 100644
--- a/xmlrpc-c.spec
+++ b/xmlrpc-c.spec
@@ -6,7 +6,7 @@
 Summary:	A lightweight RPC library based on XML and HTTP
 Name:		xmlrpc-c
 Version:	1.27.5
-Release:	%release_func 1600.svn%svnrev
+Release:	%release_func 1601.svn%svnrev
 # See COPYING for details.
 # The Python 1.5.2 license used by a few files is just BSD.
 License:	BSD and MIT
@@ -28,6 +28,7 @@ Patch107:	xmlrpc-c-uninit-curl.patch
 Patch108:	xmlrpc-c-30x-redirect.patch
 Patch109:	xmlrpc-c-check-vasprintf-return-value.patch
 Patch110:	xmlrpc-c-include-string_int.h.patch
+Patch111:	xmlrpc-c-struct-serialize.patch
 
 
 BuildRoot:	%_tmppath/%name-%version-%release-root
@@ -119,6 +120,7 @@ This package contains some handy XML-RPC demo applications.
 %patch108 -p1
 %patch109 -p1
 %patch110 -p1
+%patch111 -p1
 
 ## not needed...
 rm doc/{INSTALL,configure_doc}
@@ -237,6 +239,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Mon Oct  3 2011 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 1.27.5-1601.svn2185
+- fixed error handling when transfering too large files (#741980)
+
 * Sat Aug 27 2011 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 1.27.5-1600.svn2185
 - updated to 1.27.5
 


More information about the scm-commits mailing list