Date: Fri, 2 Mar 2001 22:19:00 +0800 (CST) From: phj@cn.freebsd.org To: FreeBSD-gnats-submit@freebsd.org Subject: ports/25492: patch of CLISP Message-ID: <200103021419.WAA38324@cn.FreeBSD.org>
next in thread | raw e-mail | index | archive | help
>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 <haible@ilog.fr> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103021419.WAA38324>