rpms/libvmime07/devel libvmime07-0.7.1-plain-bodycopy.patch, NONE, 1.1 libvmime07.spec, 1.1, 1.2

Robert Scheck robert at fedoraproject.org
Wed Sep 16 21:37:49 UTC 2009


Author: robert

Update of /cvs/pkgs/rpms/libvmime07/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4948

Modified Files:
	libvmime07.spec 
Added Files:
	libvmime07-0.7.1-plain-bodycopy.patch 
Log Message:
Some patch reordering and rumbling


libvmime07-0.7.1-plain-bodycopy.patch:
 messageBuilder.cpp |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- NEW FILE libvmime07-0.7.1-plain-bodycopy.patch ---
Patch by Zarafa <http://www.zarafa.com/> - when constructing a plaintext only body without attachments, a
copy of the body was made to set as the real body and thus removing all the multiparts. However, the same
reference is removed before setting the new body, thus invalidating that body we wish to copy, possibly
resulting in a crash.

--- libvmime-0.7.1/src/messageBuilder.cpp				2009-09-15 22:59:21.000000000 +0200
+++ libvmime-0.7.1/src/messageBuilder.cpp.plain-bodycopy		2009-09-15 23:00:33.000000000 +0200
@@ -137,6 +137,8 @@
 	if (msg->getBody()->getPartCount() == 1)
 	{
 		const bodyPart& part = *msg->getBody()->getPartAt(0);
+		// make a full copy of the body, otherwise the copyFrom will delete the body we're copying
+		const body* bodyCopy = part.getBody()->clone();
 
 		// First, copy (and replace) the header fields
 		const std::vector <const headerField*> fields = part.getHeader()->getFieldList();
@@ -149,7 +151,8 @@
 
 		// Second, copy the body contents and sub-parts (this also remove
 		// the body part we are copying...)
-		msg->getBody()->copyFrom(*part.getBody());
+		msg->getBody()->copyFrom(*bodyCopy);
+		delete bodyCopy;
 	}
 
 	return (msg);


Index: libvmime07.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libvmime07/devel/libvmime07.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- libvmime07.spec	16 Sep 2009 21:31:08 -0000	1.1
+++ libvmime07.spec	16 Sep 2009 21:37:47 -0000	1.2
@@ -6,34 +6,35 @@ License:	GPLv2+
 Group:		System Environment/Libraries
 URL:		http://www.zarafa.com/wiki/index.php/Libvmime_patches
 Source0:	http://developer.zarafa.com/download/libvmime-%{version}.tar.bz2
-Patch0:		libvmime07-0.7.1-charset-catch.patch
-Patch1:		libvmime07-0.7.1-missing-boundary.patch
-Patch2:		libvmime07-0.7.1-allow-no-recips-and-senders.patch
-Patch3:		libvmime07-0.7.1-bmoted-printable.patch
-Patch4:		libvmime07-0.7.1-strip-header-endspaces.patch
-Patch5:		libvmime07-0.7.1-attachfnamelen.patch
-Patch6:		libvmime07-0.7.1-remove-bcc.patch
-Patch7:		libvmime07-0.7.1-mdn-disposition.patch
-Patch8:		libvmime07-0.7.1-mdn-final-recipient.patch
-Patch9:		libvmime07-0.7.1-broken-locale-error.patch
-Patch10:	libvmime07-0.7.1-qp-starts-on-second-line.patch
-Patch11:	libvmime07-0.7.1-quoted-printable-specials.patch
-Patch12:	libvmime07-0.7.1-header-value-on-next-line.patch
-Patch13:	libvmime07-0.7.1-oe-compatibility.patch
-Patch14:	libvmime07-0.7.1-unicode-1-1-utf-7-charset.patch
-Patch15:	libvmime07-0.7.1-out-of-bounds-copy.patch
-Patch16:	libvmime07-0.7.1-default-transfer-encoding.patch
-Patch17:	libvmime07-0.7.1-contentid-without-at.patch
-Patch18:	libvmime07-0.7.1-socket-backport-and-timeout-fix.patch
-Patch19:	libvmime07-0.7.1-double-empty-boundary.patch
-Patch20:	libvmime07-0.7.1-quoted-printable-encode-questionmark.patch
-Patch21:	libvmime07-0.7.1-charset-output-buffer-full.patch
-Patch22:	libvmime07-0.7.1-gcc-4.3-support.patch
-Patch23:	libvmime07-0.7.1-timezone-name.patch
-Patch24:	libvmime07-0.7.1-socket-tcp-nodelay.patch
-Patch25:	libvmime07-0.7.1-threading-remove-static_non-abi-change.patch
-Patch26:	libvmime07-0.7.1-gcc-4.4-support.patch
-Patch27:	libvmime07-0.7.1-package.patch
+Patch0:		libvmime07-0.7.1-package.patch
+Patch1:		libvmime07-0.7.1-charset-catch.patch
+Patch2:		libvmime07-0.7.1-missing-boundary.patch
+Patch3:		libvmime07-0.7.1-allow-no-recips-and-senders.patch
+Patch4:		libvmime07-0.7.1-bmoted-printable.patch
+Patch5:		libvmime07-0.7.1-strip-header-endspaces.patch
+Patch6:		libvmime07-0.7.1-attachfnamelen.patch
+Patch7:		libvmime07-0.7.1-remove-bcc.patch
+Patch8:		libvmime07-0.7.1-mdn-disposition.patch
+Patch9:		libvmime07-0.7.1-mdn-final-recipient.patch
+Patch10:	libvmime07-0.7.1-broken-locale-error.patch
+Patch11:	libvmime07-0.7.1-qp-starts-on-second-line.patch
+Patch12:	libvmime07-0.7.1-quoted-printable-specials.patch
+Patch13:	libvmime07-0.7.1-header-value-on-next-line.patch
+Patch14:	libvmime07-0.7.1-oe-compatibility.patch
+Patch15:	libvmime07-0.7.1-unicode-1-1-utf-7-charset.patch
+Patch16:	libvmime07-0.7.1-out-of-bounds-copy.patch
+Patch17:	libvmime07-0.7.1-default-transfer-encoding.patch
+Patch18:	libvmime07-0.7.1-contentid-without-at.patch
+Patch19:	libvmime07-0.7.1-socket-backport-and-timeout-fix.patch
+Patch20:	libvmime07-0.7.1-double-empty-boundary.patch
+Patch21:	libvmime07-0.7.1-quoted-printable-encode-questionmark.patch
+Patch22:	libvmime07-0.7.1-charset-output-buffer-full.patch
+Patch23:	libvmime07-0.7.1-gcc-4.3-support.patch
+Patch24:	libvmime07-0.7.1-timezone-name.patch
+Patch25:	libvmime07-0.7.1-socket-tcp-nodelay.patch
+Patch26:	libvmime07-0.7.1-threading-remove-static_non-abi-change.patch
+Patch27:	libvmime07-0.7.1-gcc-4.4-support.patch
+Patch28:	libvmime07-0.7.1-plain-bodycopy.patch
 BuildRequires:	sendmail, libtool, autoconf, automake
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -67,34 +68,35 @@ to work with the newer version and the n
 
 %prep
 %setup -q -n libvmime-%{version}
-%patch0 -p1 -b .charset-catch
-%patch1 -p1 -b .missing-boundary
-%patch2 -p1 -b .allow-no-recips-and-senders
-%patch3 -p1 -b .bmoted-printable
-%patch4 -p1 -b .strip-header-endspaces
-%patch5 -p1 -b .attachfnamelen
-%patch6 -p1 -b .remove-bcc
-%patch7 -p1 -b .mdn-disposition
-%patch8 -p1 -b .mdn-final-recipient
-%patch9 -p1 -b .broken-locale-error
-%patch10 -p1 -b .qp-starts-on-second-line
-%patch11 -p1 -b .quoted-printable-specials
-%patch12 -p1 -b .header-value-on-next-line
-%patch13 -p1 -b .oe-compatibility
-%patch14 -p1 -b .unicode-1-1-utf-7-charset
-%patch15 -p1 -b .out-of-bounds-copy
-%patch16 -p1 -b .default-transfer-encoding
-%patch17 -p1 -b .contentid-without-at
-%patch18 -p1 -b .socket-backport-and-timeout-fix
-%patch19 -p1 -b .double-empty-boundary
-%patch20 -p1 -b .quoted-printable-encode-questionmark
-%patch21 -p1 -b .charset-output-buffer-full
-%patch22 -p1 -b .gcc-4.3-support
-%patch23 -p1 -b .timezone-name
-%patch24 -p1 -b .socket-tcp-nodelay
-%patch25 -p1 -b .threading-remove-static_non-abi-change
-%patch26 -p1 -b .gcc-4.4-support
-%patch27 -p1 -b .package
+%patch0 -p1 -b .package
+%patch1 -p1 -b .charset-catch
+%patch2 -p1 -b .missing-boundary
+%patch3 -p1 -b .allow-no-recips-and-senders
+%patch4 -p1 -b .bmoted-printable
+%patch5 -p1 -b .strip-header-endspaces
+%patch6 -p1 -b .attachfnamelen
+%patch7 -p1 -b .remove-bcc
+%patch8 -p1 -b .mdn-disposition
+%patch9 -p1 -b .mdn-final-recipient
+%patch10 -p1 -b .broken-locale-error
+%patch11 -p1 -b .qp-starts-on-second-line
+%patch12 -p1 -b .quoted-printable-specials
+%patch13 -p1 -b .header-value-on-next-line
+%patch14 -p1 -b .oe-compatibility
+%patch15 -p1 -b .unicode-1-1-utf-7-charset
+%patch16 -p1 -b .out-of-bounds-copy
+%patch17 -p1 -b .default-transfer-encoding
+%patch18 -p1 -b .contentid-without-at
+%patch19 -p1 -b .socket-backport-and-timeout-fix
+%patch20 -p1 -b .double-empty-boundary
+%patch21 -p1 -b .quoted-printable-encode-questionmark
+%patch22 -p1 -b .charset-output-buffer-full
+%patch23 -p1 -b .gcc-4.3-support
+%patch24 -p1 -b .timezone-name
+%patch25 -p1 -b .socket-tcp-nodelay
+%patch26 -p1 -b .threading-remove-static_non-abi-change
+%patch27 -p1 -b .gcc-4.4-support
+%patch28 -p1 -b .plain-bodycopy
 
 # Needed to apply branding patch
 libtoolize --force




More information about the scm-commits mailing list