From owner-freebsd-ports Fri Mar 2 6:20:10 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 11A4237B71B for ; Fri, 2 Mar 2001 06:20:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f22EK2051677; Fri, 2 Mar 2001 06:20:02 -0800 (PST) (envelope-from gnats) Received: from cn.FreeBSD.org (cn.freebsd.org [202.103.100.254]) by hub.freebsd.org (Postfix) with ESMTP id 7E01D37B719 for ; Fri, 2 Mar 2001 06:19:48 -0800 (PST) (envelope-from phj@cn.FreeBSD.org) Received: (from phj@localhost) by cn.FreeBSD.org (8.9.3/8.9.3) id WAA38324; Fri, 2 Mar 2001 22:19:00 +0800 (CST) (envelope-from phj) Message-Id: <200103021419.WAA38324@cn.FreeBSD.org> Date: Fri, 2 Mar 2001 22:19:00 +0800 (CST) From: phj@cn.freebsd.org Reply-To: phj@cn.freebsd.org To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/25492: patch of CLISP Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 25492 >Category: ports >Synopsis: patche of CLISP >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Mar 02 06:20:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Peng HaiJie >Release: FreeBSD 5.0-CURRENT >Organization: cn.FreeBSD.org >Environment: >Description: >How-To-Repeat: press TAB button in clisp intepreter. >Fix: I have tested the following patch,it can cue the above problem which I met. Subject: Re: SIGSEGV happens on FreeBSD Date: Fri, 2 Mar 2001 14:42:38 +0100 (CET) From: Bruno Haible To: phj@cn.freebsd.org CC: sds@clisp.cons.org Peng HaiJie writes: > clisp always get the SIGSEGV signal when I press the Tab > button everytime. > > System infomation: > FreeBSD sea.cn.freebsd.org 4.2-BETA FreeBSD 4.2-BETA #0: Fri Nov 3 23:53:12 CST 2000 phj@sea.cn.freebsd.org:/usr/src/sys/compile/kernel.20001025 i386 > > CLISP version is 2000.03.06,which was installed from the FreeBSD ports system > /usr/ports/lang/clisp. Thanks for the report. Does this patch help? Bruno *** stream.d 2000/06/22 21:38:26 1.172 --- stream.d 2000/09/01 15:09:31 1.173 *************** *** 10160,10173 **** pushSTACK(fixnum((uintL)end)); funcall(S(completion),3); var object mlist = value1; # Liste der Mvglichkeiten - end_callback(); # Liste von Simple-Strings in mallozierten Array von mallozierten # Asciz-Strings umbauen: ! if (nullp(mlist)) return NULL; var char** array = (char**) malloc((llength(mlist)+1)*sizeof(char*)); ! if (array==NULL) return NULL; { var char** ptr = array; while (consp(mlist)) { --- 10160,10176 ---- pushSTACK(fixnum((uintL)end)); funcall(S(completion),3); var object mlist = value1; # Liste der Mvglichkeiten # Liste von Simple-Strings in mallozierten Array von mallozierten # Asciz-Strings umbauen: ! if (nullp(mlist)) { ! end_callback(); return NULL; + } var char** array = (char**) malloc((llength(mlist)+1)*sizeof(char*)); ! if (array==NULL) { ! end_callback(); return NULL; + } { var char** ptr = array; while (consp(mlist)) { *************** *** 10175,10186 **** --- 10178,10193 ---- var const chart* ptr1; unpack_sstring_alloca(Car(mlist),charcount,0, ptr1=); var uintL bytecount = cslen(O(terminal_encoding),ptr1,charcount); + begin_system_call(); var char* ptr2 = (char*) malloc((bytecount+1)*sizeof(char)); if (ptr2==NULL) { # malloc scheitert -> alles zur|ckgeben until (ptr==array) { free(*--ptr); } free(array); + end_system_call(); + end_callback(); return NULL; } + end_system_call(); cstombs(O(terminal_encoding),ptr1,charcount,(uintB*)ptr2,bytecount); ptr2[bytecount] = '\0'; *ptr++ = ptr2; *************** *** 10188,10193 **** --- 10195,10201 ---- } *ptr = NULL; } + end_callback(); return array; } #endif >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message