In sharp_asterisk_reader, if the number of dimensions is not
specified, then the local variable "last" can be used uninitialized.
I *think* the attached patch is the right fix.  Regards,
-- 
Jerry James
http://www.jamezone.org/
diff --git a/src/c/read.d b/src/c/read.d
index 3e4863d..509055c 100644
--- a/src/c/read.d
+++ b/src/c/read.d
@@ -891,8 +891,8 @@ sharp_asterisk_reader(cl_object in, cl_object c, cl_object d)
 			FEreader_error("Too many elements in #*.", in, 0);
 		unlikely_if (dim && (dimcount == 0))
 			FEreader_error("Cannot fill the bit-vector #*.", in, 0);
-		last = ECL_STACK_REF(env,-1);
 	}
+	last = ECL_STACK_REF(env,-1);
 	x = ecl_alloc_simple_vector(dim, aet_bit);
 	for (i = 0; i < dim; i++) {
 		elt = (i < dimcount) ? env->stack[sp+i] : last;
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list

Reply via email to