(let ((p-len (length pickle)) (acc (new-account))) (cffi:with-foreign-string ((foreign-key foreign-key-length) passphrase) (cffi:with-foreign-pointer-as-string (p-buffer p-len) (unwind-protect (save-pointers acc (foreign-key p-buffer) (setf (account acc) (%olm:unpickle-account (account acc) foreign-key foreign-key-length p-buffer p-len))) (loop :for i :from 0 :below foreign-key-length :do (setf (cffi:mem-aref foreign-key :uint8 i) 0)))) (check-error acc) acc)))