]> git.eshelyaron.com Git - emacs.git/commitdiff
Make url-tramp more robust
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 15 Jun 2019 10:19:01 +0000 (12:19 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 15 Jun 2019 10:19:01 +0000 (12:19 +0200)
* lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
(url-tramp-convert-tramp-to-url): Check, that obj is non-nil.

lisp/url/url-tramp.el

index 305635c8d3837c57cd9da339b3533b2d2745ff8a..f4ec822651184a515d28f176c2d18513a8af0542 100644 (file)
@@ -42,9 +42,9 @@ If URL contains a password, it will be added to the `password-data' cache.
 In case URL is not convertible, nil is returned."
   (let* ((obj (url-generic-parse-url (and (stringp url) url)))
          (port
-          (and (natnump (url-portspec obj))
+          (and obj (natnump (url-portspec obj))
                (number-to-string (url-portspec obj)))))
-    (when (member (url-type obj) url-tramp-protocols)
+    (when (and obj (member (url-type obj) url-tramp-protocols))
       (when (url-password obj)
        (password-cache-add
         (tramp-make-tramp-file-name
@@ -60,9 +60,9 @@ In case URL is not convertible, nil is returned."
 In case FILE is not convertible, nil is returned."
   (let* ((obj (ignore-errors (tramp-dissect-file-name file)))
          (port
-          (and (stringp (tramp-file-name-port obj))
+          (and obj (stringp (tramp-file-name-port obj))
                (string-to-number (tramp-file-name-port obj)))))
-    (when (member (tramp-file-name-method obj) url-tramp-protocols)
+    (when (and obj (member (tramp-file-name-method obj) url-tramp-protocols))
       (url-recreate-url
        (url-parse-make-urlobj
        (tramp-file-name-method obj)