From 250de7a0705c97ecbbe867b46849f0853e3668ff Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Mon, 23 Jun 2025 12:26:20 +0200 Subject: [PATCH] refs #2285 improve failure conditions in EjecutarScript --- src/opengnsys/modules/server/OpenGnSys/__init__.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/opengnsys/modules/server/OpenGnSys/__init__.py b/src/opengnsys/modules/server/OpenGnSys/__init__.py index 438d50a..5253f3f 100644 --- a/src/opengnsys/modules/server/OpenGnSys/__init__.py +++ b/src/opengnsys/modules/server/OpenGnSys/__init__.py @@ -358,7 +358,14 @@ class OpenGnSysWorker(ServerWorker): """ logger.debug('Processing script request') # Decoding script - script = urllib.parse.unquote(base64.b64decode(post_params.get('script')).decode('utf-8')) + param_script = post_params.get('script') + if not param_script: + return {'op': 'error', 'err': 'Required parameter "script" is missing or empty'} + try: + b64decoded = base64.b64decode (param_script) + except Exception as e: + return {'op': 'error', 'err': f'Failed to decode base64: {e}'} + script = urllib.parse.unquote (b64decoded.decode ('utf-8')) logger.debug('received script "{}"'.format(script)) if post_params.get('client', 'false') == 'false':