From 4a6391730d7864621041c5d8f24d0f8104d4016c Mon Sep 17 00:00:00 2001 From: krek0 Date: Thu, 7 May 2026 13:51:07 +0200 Subject: [PATCH] Fix file descriptor leak when FileResponse raises an exception --- photo21/views.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/photo21/views.py b/photo21/views.py index 434be5b..bedd2a1 100644 --- a/photo21/views.py +++ b/photo21/views.py @@ -23,9 +23,14 @@ class MediaAccess(View): raise Http404 if not os.path.isfile(file_path): raise Http404 - response = FileResponse(open(file_path, 'rb')) - response['Cache-Control'] = 'max-age=2678400' - return response + f = open(file_path, 'rb') + try: + response = FileResponse(f) + response['Cache-Control'] = 'max-age=2678400' + return response + except Exception: + f.close() + raise class IndexView(LoginRequiredMixin, ListView):