瀏覽代碼

Do not modify passed dict (fixes issue #4223) (#4278)

* Do not modify passed dict (fixes issue #4223)

* Use options variable instead of d
Anton 7 年之前
父節點
當前提交
028df35ef8
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      celery/canvas.py

+ 3 - 2
celery/canvas.py

@@ -1174,8 +1174,9 @@ class chord(Signature):
 
     @classmethod
     def from_dict(cls, d, app=None):
-        args, d['kwargs'] = cls._unpack_args(**d['kwargs'])
-        return _upgrade(d, cls(*args, app=app, **d))
+        options = d.copy()
+        args, options['kwargs'] = cls._unpack_args(**options['kwargs'])
+        return _upgrade(d, cls(*args, app=app, **options))
 
     @staticmethod
     def _unpack_args(header=None, body=None, **kwargs):