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

ensc ensc at fedoraproject.org
Wed Jan 4 12:07:16 UTC 2012


commit 0f1829ad1a01cb4dda13c3d3a357bad0c601d6b5
Author: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date:   Mon Oct 3 21:01:06 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 358bc59..6f7a8b3 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.25.4
-Release:	%release_func 1500.svn%svnrev
+Release:	%release_func 1501.svn%svnrev
 # See COPYING for details.
 # The Python 1.5.2 license used by a few files is just BSD.
 License:	BSD and MIT
@@ -29,6 +29,7 @@ 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-default-constructor.patch
+Patch112:	xmlrpc-c-struct-serialize.patch
 
 BuildRoot:	%_tmppath/%name-%version-%release-root
 BuildRequires:	cmake
@@ -121,6 +122,7 @@ This package contains some handy XML-RPC demo applications.
 %patch109 -p1
 %patch110 -p1
 %patch111 -p1
+%patch112 -p1
 
 %patch200 -p1
 
@@ -241,6 +243,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Mon Oct  3 2011 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 1.25.4-1501.svn2077
+- fixed error handling when transfering too large files (#741980)
+
 * Sun Aug  7 2011 Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de> - 1.25.4-1500.svn2077
 - updated to 1.25.4
 - backported GSSAPI_DELEGATION patch from 1.27.3; added BuildConflict


More information about the scm-commits mailing list