Wed Apr 8 17:18:53 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Free translated return values (fix memleak)
hunk ./src/objects/stack.lisp 120
- ;(warn "Unknown translation from ~A to lisp." (name type))
+ ;;(warn "Unknown translation from ~A to lisp." (name type))
hunk ./src/objects/stack.lisp 122
- (convert-from-foreign (foreign-slot-value stack-item
- 'smoke-stack-item
- 'voidp)
- cffi-type))))
+ (let* ((pointer (foreign-slot-value stack-item
+ 'smoke-stack-item
+ 'voidp))
+ (value (convert-from-foreign pointer cffi-type)))
+ (when (stack-p type)
+ ;; FIXME free-translated-object is not intended for this;
+ ;; param is NIL for now.
+ (cffi:free-translated-object pointer cffi-type nil))
+ value
+ ))))