From 5ef10dd0664a7dc757e1821d53c2a35beabc73cb Mon Sep 17 00:00:00 2001 From: wishhyt <24300810017@m.fudan.edu.cn> Date: Wed, 18 Mar 2026 10:35:49 +0800 Subject: [PATCH] fix: close file descriptor after writing temp settings file `tempfile.mkstemp()` returns an open file descriptor that was never closed after `os.write()`. In a long-running server process, each call to `apply_repo_settings()` leaks one fd, eventually exhausting the system file descriptor limit. The `finally` block removes the file but does not close the descriptor. Made-with: Cursor --- pr_agent/git_providers/utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pr_agent/git_providers/utils.py b/pr_agent/git_providers/utils.py index 1e64b9578d..f5884216c2 100644 --- a/pr_agent/git_providers/utils.py +++ b/pr_agent/git_providers/utils.py @@ -36,6 +36,7 @@ def apply_repo_settings(pr_url): try: fd, repo_settings_file = tempfile.mkstemp(suffix='.toml') os.write(fd, repo_settings) + os.close(fd) try: dynconf_kwargs = {'core_loaders': [], # DISABLE default loaders, otherwise will load toml files more than once.