--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: segfault on amd64 systems
- From: Herbert Straub <herbert@linuxhacker.at>
- Date: Fri, 13 Oct 2006 17:21:46 +0200
- Message-id: <20061013172146.gmp6b8db8u8sg0go@mail-mobilmail-at.dmz.mmvie1.at>
Package: libspf2-2
Version: 1.2.5-3
The milter-greylist (linked with libspf2) segfaults every time on
amd64 cpus. The attached gdb shows:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1124096352 (LWP 5648)]
0x00002aaaab19d2a0 in memset () from /lib/libc.so.6
(gdb) bt
#0 0x00002aaaab19d2a0 in memset () from /lib/libc.so.6
#1 0x00002aaaaabcc5c2 in SPF_record_expand_data () from /usr/lib/libspf2.so.2
#2 0x00002aaaaabcccb7 in SPF_record_expand_data () from /usr/lib/libspf2.so.2
#3 0x00002aaaaabcceb6 in SPF_request_get_exp () from /usr/lib/libspf2.so.2
#4 0x00002aaaaabcdd6f in SPF_i_done () from /usr/lib/libspf2.so.2
#5 0x00002aaaaabcedf6 in SPF_record_interpret () from /usr/lib/libspf2.so.2
#6 0x00002aaaaabd1525 in SPF_request_is_loopback () from
/usr/lib/libspf2.so.2
#7 0x00002aaaaabd15cf in SPF_request_query_mailfrom () from
/usr/lib/libspf2.so.2
#8 0x000000000040cb75 in ?? ()
#9 0x0000000000403208 in ?? ()
#10 0x00002aaaab02273d in st_sender (g=0x43005140) at engine.c:853
#11 0x00002aaaab021bbe in mi_engine (ctx=0x547f30) at engine.c:355
#12 0x00002aaaab023b1f in mi_handle_session (ctx=0x547f30) at handler.c:45
#13 0x00002aaaab0228d9 in mi_thread_handle_wrapper (arg=0x549e40) at
listener.c:566
#14 0x00002aaaaaf0d0fa in start_thread () from /lib/libpthread.so.0
#15 0x00002aaaab1f2ce2 in clone () from /lib/libc.so.6
#16 0x0000000000000000 in ?? ()
(gdb)
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii libspf2-2 1.2.5-3 Sender Policy Framework library, written in
Carsten Koch-Mauthe found the same error and debugged the situation,
see the mailinglist article:
http://permalink.gmane.org/gmane.mail.spam.spf.devel/709
I created a patch, based on this analyses, but also change len from
int to size_t:
--- src/libspf2/spf_interpret.c.orig 2006-10-13 16:47:29.000000000 +0200
+++ src/libspf2/spf_interpret.c 2006-10-13 16:48:16.000000000 +0200
@@ -49,8 +49,8 @@
SPF_record_t *spf_record;
SPF_errcode_t err;
char *buf;
- int buflen;
- int len;
+ size_t buflen;
+ size_t len;
SPF_ASSERT_NOTNULL(spf_response);
spf_request = spf_response->spf_request;
With this patch, the milter-greylist doesn't segfaults.
Regards
Herbert Straub
--- End Message ---
--- Begin Message ---
Source: libspf2
Source-Version: 1.2.5.dfsg-1
We believe that the bug you reported is fixed in the latest version of
libspf2, which is due to be installed in the Debian FTP archive:
libspf2-2_1.2.5.dfsg-1_i386.deb
to pool/main/libs/libspf2/libspf2-2_1.2.5.dfsg-1_i386.deb
libspf2-dev_1.2.5.dfsg-1_i386.deb
to pool/main/libs/libspf2/libspf2-dev_1.2.5.dfsg-1_i386.deb
libspf2_1.2.5.dfsg-1.diff.gz
to pool/main/libs/libspf2/libspf2_1.2.5.dfsg-1.diff.gz
libspf2_1.2.5.dfsg-1.dsc
to pool/main/libs/libspf2/libspf2_1.2.5.dfsg-1.dsc
libspf2_1.2.5.dfsg.orig.tar.gz
to pool/main/libs/libspf2/libspf2_1.2.5.dfsg.orig.tar.gz
spfquery_1.2.5.dfsg-1_i386.deb
to pool/main/libs/libspf2/spfquery_1.2.5.dfsg-1_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 392793@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Magnus Holmgren <magnus@kibibyte.se> (supplier of updated libspf2 package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Sat, 24 Mar 2007 14:51:23 +0100
Source: libspf2
Binary: spfquery libspf2-2 libspf2-dev
Architecture: source i386
Version: 1.2.5.dfsg-1
Distribution: unstable
Urgency: low
Maintainer: Magnus Holmgren <magnus@kibibyte.se>
Changed-By: Magnus Holmgren <magnus@kibibyte.se>
Description:
libspf2-2 - library for validating mail senders with SPF
libspf2-dev - Header and development libraries for libspf2
spfquery - query SPF (Sender Policy Framework) to validate mail senders
Closes: 258360 306875 372629 392793 393390 405885 410592
Changes:
libspf2 (1.2.5.dfsg-1) unstable; urgency=low
.
* New maintainer (Closes: #372629).
* Repacked .orig.tar.gz without non-free IETF Internet Draft (Closes:
#393390).
* Merge updates from Ubuntu:
- Add debian/compat and Build-depend on debhelper >= 5.
- Add alternatives handling for /usr/bin/spfquery (Closes: #306875).
- Conflict on libmail-spf-query-perl << 1:1.999.1-3.
- Add postinst and prerm scripts.
- debian/copyright: update author address.
- debian/control: add final newline.
* debian/control:
* Change description of spfquery (Closes: #410592).
* Add homepage to package descriptions.
* Reduce Debian diff by changing line endings with sed instead.
* Further reduce Debian diff by eliminating config.sub and config.guess
from there. Build-depend on autotools-dev to ensure up-to-date
versions instead.
* The autogenerated spf_lib_version.h was put in the wrong directory,
while there was a static spf_lib_version.h in the right directory.
Fix that with some rules in debian/rules.
* Use dpatch to manage patches.
* Apply 20_64bit_types.dpatch to hopefully prevent segfaults on 64-bit
architectures (Closes: #392793). Thanks to Thomas Jacob, Carsten
Koch-Mauthe and Herbert Straub.
* 20_printf_types.dpatch: Change format strings to use the z flag,
meaning size_t, among other things.
* 30_spfd_check_unlink_failure.dpatch: Fix a typo in spfd (patch from
Thomas Jacob).
* debian/watch: added.
* Update Standards-Version to 3.7.2 without changes.
* Apply 20_spf_dns_include_std_headers.dpatch: Include arpa/nameser.h and
netdb.h from spf_dns.h instead of defining the constants needed unless
certain HAVE_ macros are defined (Closes: #405885).
* Apply 25_maxvals.dpatch, which brings certain processing limits (meant
to mitigate DoS attacks) in line with RFC 4408. Thanks to Scott
Kitterman.
* debian/control: Change libspf2-dev dependency to ${binary:Version} so
that binNMUs will work.
* Ship spfd in the spfquery package (Closes: #258360).
Files:
12a276e8ff5de1c6b2c9c58d53bb6d2a 629 libs optional libspf2_1.2.5.dfsg-1.dsc
ea0ec84a70e27d6aa32a95f65c1208e7 500209 libs optional libspf2_1.2.5.dfsg.orig.tar.gz
51b3534a8aa09a9e669880ded3f2640a 7529 libs optional libspf2_1.2.5.dfsg-1.diff.gz
187293a02b7713fe8f168e5a51dbef91 72644 libdevel optional libspf2-dev_1.2.5.dfsg-1_i386.deb
0bcbc8592fd6868b2e74b3b30ef6eb01 52058 libs optional libspf2-2_1.2.5.dfsg-1_i386.deb
6996bc3f906d6829b0dde6309008978f 27854 mail optional spfquery_1.2.5.dfsg-1_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFGBTGxST77jl1k+HARAv0AAJ9PLEMt9LRwu0YW2aMwLCzmvkSCLwCguY7d
8HsmaANMgQ/woLi+Ij6fOF0=
=Z+He
-----END PGP SIGNATURE-----
--- End Message ---