|
From: <cli...@li...> - 2010-12-14 19:14:36
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src ChangeLog, 1.7557, 1.7558 spvw_garcol.d, 1.141, 1.142 spvw_objsize.d, 1.23, 1.24 spvw_typealloc.d, 1.52, 1.53 (Vladimir Tzankov) ---------------------------------------------------------------------- Message: 1 Date: Sun, 17 Oct 2010 10:04:25 +0000 From: Vladimir Tzankov <vt...@us...> Subject: clisp/src ChangeLog, 1.7557, 1.7558 spvw_garcol.d, 1.141, 1.142 spvw_objsize.d, 1.23, 1.24 spvw_typealloc.d, 1.52, 1.53 To: cli...@li... Message-ID: <E1P...@sf...> Update of /cvsroot/clisp/clisp/src In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv27763/src Modified Files: ChangeLog spvw_garcol.d spvw_objsize.d spvw_typealloc.d Log Message: fix bug#3088751: SIGSEGV on large (unsigned-byte 8) arrays Index: spvw_garcol.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw_garcol.d,v retrieving revision 1.141 retrieving revision 1.142 diff -u -d -r1.141 -r1.142 --- spvw_garcol.d 27 Feb 2010 18:28:48 -0000 1.141 +++ spvw_garcol.d 17 Oct 2010 10:04:23 -0000 1.142 @@ -1760,7 +1760,7 @@ elements) - "allocate" few vectors. */ while (holes->size != 0) { var Sbvector ptr=(Sbvector)holes->start; - var uintL len = holes->size - offsetofa(sbvector_,data); + var uintM len = holes->size - offsetofa(sbvector_,data); if (len > arraysize_limit_1) { /* In case of very large block (>= arraysize_limit_1) make sure we leave space for the next vector header */ @@ -1796,7 +1796,7 @@ var bool vector=true; var Varobject ptr=(Varobject)holes->start; var Varobject pinned=(Varobject)(holes->start+holes->size); - uintL len = holes->size - sizeof(vrecord_); + uintM len = holes->size - sizeof(vrecord_); set_GCself(holes->start,mtypecode(pinned->GCself),holes->start); switch (typecode_at(holes->start)) { case_sbvector: ((Sbvector)ptr)->length = len<<=3; break; Index: spvw_typealloc.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw_typealloc.d,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- spvw_typealloc.d 23 Feb 2010 17:39:42 -0000 1.52 +++ spvw_typealloc.d 17 Oct 2010 10:04:23 -0000 1.53 @@ -118,7 +118,7 @@ < result: fresh simple bit/byte-vector of the given length can trigger GC */ modexp maygc object allocate_bit_vector (uintB atype, uintL len) { - var uintL need = size_sbvector(len<<atype); /* needed memory in bytes */ + var uintM need = size_sbvector((uintM)len<<atype); /* needed memory in bytes */ #ifdef TYPECODES #define SETTFL ptr->length = len #else Index: spvw_objsize.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw_objsize.d,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- spvw_objsize.d 2 Oct 2009 10:55:13 -0000 1.23 +++ spvw_objsize.d 17 Oct 2010 10:04:23 -0000 1.24 @@ -58,7 +58,7 @@ round_up( sizeof(symbol_), varobject_alignment) #endif #define size_sbvector(length) /* simple-bit-vector */ \ - ( ceiling( (uintL)(length) + 8*offsetofa(sbvector_,data), \ + ( ceiling( (uintM)(length) + 8*offsetofa(sbvector_,data), \ 8*varobject_alignment ) * varobject_alignment ) #define size_sb2vector(length) /* simple-2bit-vector */ \ ( ceiling( (uintL)(length) + 4*offsetofa(sbvector_,data), \ Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.7557 retrieving revision 1.7558 diff -u -d -r1.7557 -r1.7558 --- ChangeLog 15 Oct 2010 18:32:25 -0000 1.7557 +++ ChangeLog 17 Oct 2010 10:04:23 -0000 1.7558 @@ -1,3 +1,12 @@ +2010-10-17 Vladimir Tzankov <vtz...@gm...> + + fix bug#3088751: SIGSEGV on large (unsigned-byte 8) arrays + * spvw_typealloc.d (allocate_bit_vector): use uintM. uintL overflows on + 64 bit builds for large vectors + * spvw_objsize.d (size_sbvector): use uintM instead of uintL + * spvw_garcol.d (fill_varobject_heap_holes) [MULTITHREAD]: holes may be + larger than 2^32 bytes (uintL). use uintM. + 2010-10-15 Sam Steingold <sd...@gn...> * pathname.d (PROBE-PATHNAME): fix open stream handling ------------------------------ ------------------------------------------------------------------------------ Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 54, Issue 12 ***************************************** |