Projet

Général

Profil

0001-misc-prevent-infinite-recursion-when-walking-lazy-fo.patch

Benjamin Dauvergne, 31 mars 2020 18:34

Télécharger (1,62 ko)

Voir les différences:

Subject: [PATCH 1/2] misc: prevent infinite recursion when walking lazy
 formdata (#39803)

 wcs/qommon/substitution.py | 7 ++++++-
 wcs/variables.py           | 5 ++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
wcs/qommon/substitution.py
169 169
            else:
170 170
                return
171 171
            for sub_key in sub_keys:
172
                new_depth = depth - 1
173
                if not isinstance(sub_key, str):
174
                    sub_key, recurse = sub_key
175
                    if not recurse:
176
                        new_depth = 0
172 177
                new_base = '%s_%s' % (base, sub_key)
173 178
                flat_keys[new_base] = None
174
                flatten(new_base, depth=depth - 1)
179
                flatten(new_base, depth=new_depth)
175 180

  
176 181
        for key in self.keys():
177 182
            flatten(key)
wcs/variables.py
210 210
        for key in dir(self):
211 211
            if key[0] == '_' or key in blacklist:
212 212
                continue
213
            yield key
213
            if key == 'parent':
214
                yield key, False  # = recurse
215
            else:
216
                yield key
214 217

  
215 218
    @property
216 219
    def objects(self):
217
-