Before the while statement, add: if (san_stack==NULL) return NULL; and retry plz. Joe
On 10/31/14, 11:59 AM, Nick Rogers wrote: On Mon, Oct 27, 2014 at 9:50 AM, Nick Rogers <[email protected]<mailto:[email protected]>> wrote: Hello, I'm hoping someone can shed some light on the segfault I encounter trying to get pound 2.7d working under FreeBSD 10.1-RC3. root@fbsd_101_amd64_builder:/usr/ports/www/pound # gdb /usr/local/sbin/pound pound.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Core was generated by `pound'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libpcreposix.so.0...done. Loaded symbols for /usr/local/lib/libpcreposix.so.0 Reading symbols from /usr/lib/libssl.so.7...done. Loaded symbols for /usr/lib/libssl.so.7 Reading symbols from /lib/libcrypto.so.7...done. Loaded symbols for /lib/libcrypto.so.7 Reading symbols from /lib/libm.so.5...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /lib/libthr.so.3...done. Loaded symbols for /lib/libthr.so.3 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/libpcre.so.3...done. Loaded symbols for /usr/local/lib/libpcre.so.3 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0000000000411058 in get_subjectaltnames (x509=0x80206dfa0, count=0x80203e0b8) at config.c:187 187 while(sk_GENERAL_NAME_num(san_stack) > 0) { [New Thread 802006400 (LWP 100108/pound)] (gdb) bt #0 0x0000000000411058 in get_subjectaltnames (x509=0x80206dfa0, count=0x80203e0b8) at config.c:187 #1 0x0000000000415228 in parse_HTTPS () at config.c:1062 #2 0x0000000000412e1b in parse_file () at config.c:1362 #3 0x0000000000411fa1 in config_parse (argc=3, argv=0x7fffffffeb20) at config.c:1549 #4 0x0000000000405102 in main (argc=3, argv=0x7fffffffeb20) at pound.c:309 It seems to have something to do with the server key specified in the certs directive. However the same pound.conf and server key works with pound 2.6. FWIW, the problem seems to be with the "Certificate alternate names support" added in 2.7a. I don't have an issue with this under FreeBSD 9 OpenSSL 0.9.8. But in FreeBSD 10.1 OpenSSL 1.0.1j it causes a segmentation fault that I have yet to figure out. Also, pound 2.7d works well for me under FreeBSD 9.x. Thanks, -Nick
