From a07a339006259eb7ad60993415493d2d25a760d3 Mon Sep 17 00:00:00 2001 From: Olle Lundberg Date: Tue, 20 Nov 2012 12:43:40 +0100 Subject: [PATCH] Create a copy of the identityfile list. The copy is needed else the original identityfile list is in the internal config list is updated when we modify the return dictionary. --- paramiko/config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/paramiko/config.py b/paramiko/config.py index 135e009..c5a5804 100644 --- a/paramiko/config.py +++ b/paramiko/config.py @@ -122,7 +122,11 @@ class SSHConfig (object): for match in matches: for key, value in match['config'].iteritems(): if key not in ret: - ret[key] = value + # Create a copy of the original value, + # else it will reference the original list + # in self._config and update that value too + # when the extend() is being called. + ret[key] = value[:] elif key == 'identityfile': ret[key].extend(value) ret = self._expand_variables(ret, hostname)