[movitz-cvs] CVS update: movitz/losp/muerte/primitive-functions.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Jun 10 19:28:19 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv13169

Modified Files:
	primitive-functions.lisp 
Log Message:
Added some defensive checks in dynamic-load.

Date: Thu Jun 10 12:28:19 2004
Author: ffjeld

Index: movitz/losp/muerte/primitive-functions.lisp
diff -u movitz/losp/muerte/primitive-functions.lisp:1.21 movitz/losp/muerte/primitive-functions.lisp:1.22
--- movitz/losp/muerte/primitive-functions.lisp:1.21	Thu Jun 10 05:19:47 2004
+++ movitz/losp/muerte/primitive-functions.lisp	Thu Jun 10 12:28:19 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Tue Oct  2 21:02:18 2001
 ;;;;                
-;;;; $Id: primitive-functions.lisp,v 1.21 2004/06/10 12:19:47 ffjeld Exp $
+;;;; $Id: primitive-functions.lisp,v 1.22 2004/06/10 19:28:19 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -240,11 +240,15 @@
   (with-inline-assembly (:returns :multiple-values)
     (:locally (:movl (:edi (:edi-offset dynamic-env)) :ecx))
     (:jecxz 'no-stack-binding)
+    ;; Be defensive: Verify that ECX is within stack.
+    (:locally (:bound (:edi (:edi-offset stack-bottom)) :ecx))
     (:cmpl :eax (:ecx))
     (:je 'success)
    search-loop
     (:movl (:ecx 12) :ecx)		; parent
     (:jecxz 'no-stack-binding)
+    ;; Be defensive: Verify that ECX is within stack.
+    (:locally (:bound (:edi (:edi-offset stack-bottom)) :ecx))
     (:cmpl :eax (:ecx))			; compare name
     (:jne 'search-loop)
     ;; fall through on success





More information about the Movitz-cvs mailing list