From fa4d8debd01655ddb9f7256db579d3a51040cc22 Mon Sep 17 00:00:00 2001 From: Matthias Blankertz Date: Tue, 27 Jan 2026 19:11:47 +0100 Subject: [PATCH] fix: webserver: catch and report exceptions from open and mkdir, too Signed-off-by: Matthias Blankertz --- software/src/webserver.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/software/src/webserver.py b/software/src/webserver.py index 9118f8f..a495961 100644 --- a/software/src/webserver.py +++ b/software/src/webserver.py @@ -235,16 +235,19 @@ async def audiofile_upload(request): if type_ == 'directory': if length != 0: return 'directory request may not have content', 400 - os.mkdir(path) - return '', 204 - with open(path, 'wb') as newfile: try: + os.mkdir(path) + except OSError as ex: + return f'error creating directory: {ex}', 500 + return '', 204 + try: + with open(path, 'wb') as newfile: if length > Request.max_body_length: bytes_copied = await stream_to_file(request.stream, newfile, length) else: bytes_copied = newfile.write(request.body) - except OSError as ex: - return f'error writing data to file: {ex}', 500 + except OSError as ex: + return f'error writing data to file: {ex}', 500 if bytes_copied == length: return '', 204 else: