Change #244087
Category | ffmpeg |
Changed by | Niklas Haas <git | @haasn.dev>
Changed at | Fri 29 Aug 2025 15:22:03 |
Repository | https://git.ffmpeg.org/ffmpeg.git |
Project | ffmpeg |
Branch | master |
Revision | 4ede75b5f48df5a487ec85da4ec4ca2e16046341 |
Comments
swscale/graph: fix double-free when legacy pass fails initializing If this function returns an error after ff_sws_graph_add_pass() has been called, and the pass->free callback is therefore already set up to free the context, the graph will end up freed twice: once by the pass->free callback (during ff_sws_graph_free()), and once before that by failure path of the caller (e.g. add_legacy_sws_pass(), or init_legacy_subpass() itself for cascaded contexts.) The solution is to redefine the ownership of SwsGraph to pass clearly from the caller of add_legacy_sws_pass() to init_legacy_subpass(), which can then deal with appropriately freeing the context conditional on whether or not the pass was already registered in the pass list. Reported-by: 김영민 <kunshim@naver.com> Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/graph.c