Projet

Général

Profil

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

Benjamin Dauvergne, 31 mars 2020 16:22

Télécharger (1,64 ko)

Voir les différences:

Subject: [PATCH 2/3] 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 = min(new_depth, 3)
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
212 212
        for key in dir(self):
213 213
            if key[0] == '_' or key in blacklist:
214 214
                continue
215
            yield key
215
            if key == 'parent':
216
                yield key, False  # = recurse
217
            else:
218
                yield key
216 219

  
217 220
    @property
218 221
    def objects(self):
219
-