Clear passphrase after concat.
authorueno <ueno>
Wed, 12 Apr 2006 01:06:04 +0000 (01:06 +0000)
committerueno <ueno>
Wed, 12 Apr 2006 01:06:04 +0000 (01:06 +0000)
epg.el

diff --git a/epg.el b/epg.el
index 2020ebc..5456f78 100644 (file)
--- a/epg.el
+++ b/epg.el
@@ -315,11 +315,17 @@ This function is for internal use only."
   (let ((passphrase
         (funcall (car (epg-context-passphrase-callback-info epg-context))
                  epg-key-id
-                 (cdr (epg-context-passphrase-callback-info epg-context)))))
-    (unwind-protect
-       (if passphrase
-           (process-send-string process (concat passphrase "\n")))
-      (fillarray passphrase 0))))
+                 (cdr (epg-context-passphrase-callback-info epg-context))))
+       string)
+    (if passphrase
+       (unwind-protect
+           (progn
+             (setq string (concat passphrase "\n"))
+             (fillarray passphrase 0)
+             (setq passphrase nil)
+             (process-send-string process string))
+         (if string
+             (fillarray string 0))))))
 
 (defun epg-status-GOODSIG (process string)
   (if (string-match "\\`\\([^ ]+\\) \\(.*\\)" string)