changeset 647:7e7ba87b5466

Fix stack-zeroing bug in sb-alien query bindings When doing a key query, we have to be absolutely sure that the datum.data slot is NULL, otherwise Bad Things will happen. Fixes audioDB Trac ticket #35
author mas01cr
date Tue, 13 Oct 2009 14:26:30 +0000
parents 368c8c72e723
children 4b79043f90ba
files bindings/sb-alien/interface.lisp
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/bindings/sb-alien/interface.lisp	Tue Oct 13 14:26:28 2009 +0000
+++ b/bindings/sb-alien/interface.lisp	Tue Oct 13 14:26:30 2009 +0000
@@ -312,7 +312,8 @@
                (when (logbitp 1 (slot (slot qspec 'refine) 'flags))
                  (free-alien (slot (slot (slot qspec 'refine) 'exclude) 'keys)))
                (free-alien qspec)))))))
-  (def query string (setf (slot qdatum 'key) datum))
+  (def query string (setf (slot qdatum 'key) datum
+                          (slot qdatum 'data) nil))
   (def query datum 
     (setf (slot qdatum 'key) (datum-key datum))
     (setf (slot qdatum 'dim) (array-dimension (datum-data datum) 1))