summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/net/tramp-compat.el18
2 files changed, 14 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 77482ef548a..123af6d9613 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-06 Sam Steingold <sds@gnu.org>
+
+ * net/tramp-compat.el (tramp-compat-process-running-p): Check that
+ the comm attribute is present before calling regexp-quote.
+
2009-10-06 Juanma Barranquero <lekktu@gmail.com>
* play/animate.el (animate-string): For good effect, make sure
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index 258bc2f4de0..57f23df94f3 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -312,15 +312,15 @@ element is not omitted."
(dolist (pid (funcall (symbol-function 'list-system-processes)) result)
(let ((attributes
(funcall (symbol-function 'process-attributes) pid)))
- (when
- (and (string-equal
- (cdr (assoc 'user attributes)) (user-login-name))
- ;; The returned command name could be truncated
- ;; to 15 characters. Therefore, we cannot check
- ;; for `string-equal'.
- (string-match
- (concat "^" (regexp-quote (cdr (assoc 'comm attributes))))
- process-name))
+ (when (and (string-equal
+ (cdr (assoc 'user attributes)) (user-login-name))
+ (let ((comm (cdr (assoc 'comm attributes))))
+ ;; The returned command name could be truncated
+ ;; to 15 characters. Therefore, we cannot check
+ ;; for `string-equal'.
+ (and comm (string-match
+ (concat "^" (regexp-quote comm))
+ process-name))))
(setq result t))))))
;; Fallback, if there is no Lisp support yet.