From f41fc8fd28c9fd7a41fd6c291d507a7a1b3cde56 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 5e1cd88..f5486b9 100644 --- a/paramiko/config.py +++ b/paramiko/config.py @@ -157,7 +157,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)