Mercurial > hg > audiodb
comparison bindings/sb-alien/interface.lisp @ 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 | a35ca2d5f238 |
comparison
equal
deleted
inserted
replaced
646:368c8c72e723 | 647:7e7ba87b5466 |
---|---|
310 (when (logbitp 0 (slot (slot qspec 'refine) 'flags)) | 310 (when (logbitp 0 (slot (slot qspec 'refine) 'flags)) |
311 (free-alien (slot (slot (slot qspec 'refine) 'include) 'keys))) | 311 (free-alien (slot (slot (slot qspec 'refine) 'include) 'keys))) |
312 (when (logbitp 1 (slot (slot qspec 'refine) 'flags)) | 312 (when (logbitp 1 (slot (slot qspec 'refine) 'flags)) |
313 (free-alien (slot (slot (slot qspec 'refine) 'exclude) 'keys))) | 313 (free-alien (slot (slot (slot qspec 'refine) 'exclude) 'keys))) |
314 (free-alien qspec))))))) | 314 (free-alien qspec))))))) |
315 (def query string (setf (slot qdatum 'key) datum)) | 315 (def query string (setf (slot qdatum 'key) datum |
316 (slot qdatum 'data) nil)) | |
316 (def query datum | 317 (def query datum |
317 (setf (slot qdatum 'key) (datum-key datum)) | 318 (setf (slot qdatum 'key) (datum-key datum)) |
318 (setf (slot qdatum 'dim) (array-dimension (datum-data datum) 1)) | 319 (setf (slot qdatum 'dim) (array-dimension (datum-data datum) 1)) |
319 (setf (slot qdatum 'nvectors) (array-dimension (datum-data datum) 0)) | 320 (setf (slot qdatum 'nvectors) (array-dimension (datum-data datum) 0)) |
320 (setf (slot qdatum 'data) (sb-sys:vector-sap (sb-ext:array-storage-vector (datum-data datum)))) | 321 (setf (slot qdatum 'data) (sb-sys:vector-sap (sb-ext:array-storage-vector (datum-data datum)))) |