Change 14158 by jhi@alpha on 2002/01/09 21:25:19
Subject: Re: [PATCH pp_sys.c] Fix segfault in dbmclose in DESTROY (was Re: [ID
20020104.007] coredump on dbmclose)
From: Jonathan Stowe <[EMAIL PROTECTED]>
Date: Wed, 9 Jan 2002 19:37:38 +0000 (GMT)
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
.... //depot/perl/t/run/kill_perl.t#23 edit
Differences ...
==== //depot/perl/t/run/kill_perl.t#23 (text) ====
Index: perl/t/run/kill_perl.t
--- perl/t/run/kill_perl.t.~1~ Wed Jan 9 14:30:05 2002
+++ perl/t/run/kill_perl.t Wed Jan 9 14:30:05 2002
@@ -834,3 +834,36 @@
EXPECT
before: c
after: c
+######## [ID 20020104.007] "coredump on dbmclose"
+package Foo;
+eval { dbmclose %h }; # not all places have dbm* functions
+if ($@) {
+ print "ok\n";
+ exit 0;
+}
+package Foo;
+sub new {
+ my $proto = shift;
+ my $class = ref($proto) || $proto;
+ my $self = {};
+ bless($self,$class);
+ my %LT;
+ dbmopen(%LT, "dbmtest", 0666) ||
+ die "Can't open dbmtest because of $!\n";
+ $self->{'LT'} = \%LT;
+ return $self;
+}
+sub DESTROY {
+ my $self = shift;
+ dbmclose(%{$self->{'LT'}});
+ return 1;
+}
+package main;
+$test = Foo->new(); # must be package var
+END
+{
+ 1 while unlink <dbmtest.*>;
+ print "ok\n";
+}
+EXPECT
+ok
End of Patch.