From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3802 invoked by alias); 12 Feb 2002 18:26:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 3730 invoked by uid 71); 12 Feb 2002 18:26:01 -0000 Resent-Date: 12 Feb 2002 18:26:01 -0000 Resent-Message-ID: <20020212182601.3729.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, java-prs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, toddastock@yahoo.com Received:(qmail 27081 invoked from network); 12 Feb 2002 18:18:24 -0000 Received: from unknown (HELO localhost.localdomain) (12.230.248.186) by sources.redhat.com with SMTP; 12 Feb 2002 18:18:24 -0000 Received: (from tstock@localhost) by localhost.localdomain (8.11.6/8.11.6) id g1CIJSh16677; Tue, 12 Feb 2002 10:19:28 -0800 Message-Id:<200202121819.g1CIJSh16677@localhost.localdomain> Date: Tue, 12 Feb 2002 10:26:00 -0000 From: toddastock@yahoo.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: libgcj/5671: verify.cc problem merging local variables X-SW-Source: 2002-02/txt/msg00285.txt.bz2 List-Id: >Number: 5671 >Category: libgcj >Synopsis: verify.cc problem merging local variables >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Feb 12 10:26:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: >Release: 3.1 20020211 (experimental) >Organization: >Environment: System: Linux escher 2.4.9-21 #1 Thu Jan 17 14:16:30 EST 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ./configure --enable-threads=posix --prefix=/home/tstock/local --disable-shared --enable-languages=c++,java >Description: During the merging of the local variables if the previous variable is an interface then running through the superclasses leads you directly to NULL eventually thus causing a segmentation fault. >How-To-Repeat: import java.io.*; import java.util.*; public class Test { public static void main(String[] args) { new Test().doit(); } public void doit( ) { String x = "abc"; try { Properties props = new Properties(); Enumeration enum = props.propertyNames(); } catch( Exception e ) { } String _x = "def"; try { Properties props = new Properties(); Enumeration enum = props.propertyNames(); } catch( Exception e ) { } } } >Fix: Index: libjava/verify.cc =================================================================== RCS file: /cvsroot/gcc/gcc/libjava/verify.cc,v retrieving revision 1.35 diff -r1.35 verify.cc 679c679 < while (true) --- > while (true && k!=NULL) 686a687,692 > if( k == NULL ) > { > *this = old_type; > changed = true; > } > else >Release-Note: >Audit-Trail: >Unformatted: