in-file function type derivation violates safety
Bug #657499 reported by
Nikodemus Siivola
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
High
|
Unassigned |
Bug Description
File-compiling the following and calling QUUX returns "foo" instead of signalling a type-error.
(declaim (optimize safety))
(defun foo ()
(cons t t))
(defun bar ()
(let ((cons (foo)))
(setf (car cons) 3)
cons))
(defun quux ()
(eval `(locally (declare (optimize safety))
(setf (fdefinition 'foo) (lambda () (copy-seq "foobar")))
(bar))))
Changed in sbcl: | |
assignee: | nobody → Nikodemus Siivola (nikodemus) |
status: | New → In Progress |
tags: | added: compiler types |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Marking this as "high" due to heap corruption potential.