snoopy@sopwith.UUCP (Snoopy) (06/27/89)
There is a bug in the version 1.3 scanner. If a fractional number is given without a digit to the left of the decimal point a double variable is used before being set, causing a core dump. Repeat by: GS> 0.123 % works fine GS> .123 % core dumps Fix: initialize the variable 'dval' to 0.0 RCS file: RCS/iscan.c,v Retrieving revision 1.2 diff -c -r1.2 iscan.c *** /tmp/,RCSt1001206 Mon Jun 26 21:48:44 1989 --- iscan.c Mon Jun 26 21:28:10 1989 *************** *** 340,345 double dval; int code; register int c; switch ( c = sgetc(s) ) { case '+': sign = 1; c = sgetc(s); break; --- 340,346 ----- double dval; int code; register int c; + dval = 0.0; /* initializing dval before use avoids core dumps -Snoopy */ switch ( c = sgetc(s) ) { case '+': sign = 1; c = sgetc(s); break; *************** If you're wondering, the difference between RCS versions 1.1 and 1.2 is the removal of the trailing control-m chars. _____ .-----. /_____\ Snoopy ./ RIP \. /_______\ qiclab!sopwith!snoopy | | |___| parsely!sopwith!snoopy | tekecs | |___| sun!nosun!illian!sopwith!snoopy |_________| I ain't 'fraid ah no Ghostscript bug!