豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

Unbounded C recursion in _elementtree.Element.__deepcopy__ causes causes stack overflow #148801

@StanFromIreland

Description

@StanFromIreland

Crash report

What happened?

Many thanks to Gil Portnoy (@dhkts1) for finding this.


import xml.etree.ElementTree as ET
import sys
import copy

root = ET.Element("r")
cur = root
for i in range(500_000):
    c = ET.Element("n")
    cur.append(c)
    cur = c

copy.deepcopy(root)  # SIGSEGV

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Output from running 'python -VV' on the command line:

No response

Linked PRs

Metadata

Metadata

Labels

extension-modulesC modules in the Modules dirtopic-XMLtype-crashA hard crash of the interpreter, possibly with a core dump

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions