Date: Wed, 30 Sep 2009 14:32:23 -0400 (EDT) From: Vivek Khera <vivek@khera.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/139259: fix crash in p5-CGI-SpeedyCGI port Message-ID: <20090930183223.B71AB3F43F@vk-dev.int.kcilink.com> Resent-Message-ID: <200909301840.n8UIe46g081198@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 139259 >Category: ports >Synopsis: fix crash in p5-CGI-SpeedyCGI port >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed Sep 30 18:40:03 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Vivek Khera >Release: FreeBSD 7.2-RELEASE i386 >Organization: >Environment: System: FreeBSD vk-dev.int.kcilink.com 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Mon May 11 14:14:08 EDT 2009 vivek@vk-dev.int.kcilink.com:/n/yertle1/sources/usr7/obj.i386/n/yertle1/sources/usr7/src/sys/KCI32 i386 >Description: Port www/p5-CGI-SpeedyCGI with perl 5.10, speedy tends to segfault when the program calls exit() after the first time it is run. See also bug report from Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537996 >How-To-Repeat: see above bug report from debian. it may or may not happen on any given machine. on my machines i have a big program from our application that does it. >Fix: this is the patch copied from debian into the port. diff -Nru p5-CGI-SpeedyCGI.old/files/patch-src_speedy_perl.c p5-CGI-SpeedyCGI/files/patch-src_speedy_perl.c --- p5-CGI-SpeedyCGI.old/files/patch-src_speedy_perl.c 1969-12-31 19:00:00.000000000 -0500 +++ p5-CGI-SpeedyCGI/files/patch-src_speedy_perl.c 2009-09-30 14:23:17.000000000 -0400 @@ -0,0 +1,15 @@ +Author: Niko Tyni <ntyni@debian.org> +Description: Closes: #537996 +The SvIV call crashes in on Perl 5.10.0 when warnings are +enabled and the value is undef. +--- src/speedy_perl.c ++++ src/speedy_perl.c +@@ -818,7 +818,7 @@ + my_call_sv(get_perlvar(&PERLVAR_RESET_GLOBALS)); + + /* Copy option values in from the perl vars */ +- if (SvIV(PERLVAL_OPTS_CHANGED)) { ++ if (SvTRUE(PERLVAL_OPTS_CHANGED)) { + int i; + for (i = 0; i < SPEEDY_NUMOPTS; ++i) { + OptRec *o = speedy_optdefs + i; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090930183223.B71AB3F43F>