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