summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOlle Lundberg <geek@nerd.sh>2012-11-20 12:43:40 +0100
committerOlle Lundberg <geek@nerd.sh>2012-11-20 12:43:40 +0100
commita07a339006259eb7ad60993415493d2d25a760d3 (patch)
treebb0c94de7fe97a50bbfbd9081fddc8620d9ec82e
parent5670e111c95612fc1c96135ca0e942ed89ec5420 (diff)
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.
-rw-r--r--paramiko/config.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/paramiko/config.py b/paramiko/config.py
index 135e0090..c5a58040 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)