[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