From 8fd1aa0d2e205ed9836fa2d4ea566faed8b857de Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Thu, 16 Nov 2023 13:15:08 -0800 Subject: [PATCH] syslog: Handle ValueError raised while sending logs to syslog (#82225) * ValueError exception is raised when Null Character is sent to syslog.syslog with Python 3.12. * Handle this error gracefully instead of stacktrace Signed-off-by: Abhijeet Kasurde --- changelogs/fragments/syslog_exception.yml | 3 +++ lib/ansible/module_utils/basic.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/syslog_exception.yml diff --git a/changelogs/fragments/syslog_exception.yml b/changelogs/fragments/syslog_exception.yml new file mode 100644 index 00000000000..dc47ca6cb97 --- /dev/null +++ b/changelogs/fragments/syslog_exception.yml @@ -0,0 +1,3 @@ +--- +bugfixes: +- syslog - Handle ValueError exception raised when sending Null Characters to syslog with Python 3.12. diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index a4d28c267df..eca66085f3e 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -1269,7 +1269,7 @@ class AnsibleModule(object): facility = getattr(syslog, self._syslog_facility, syslog.LOG_USER) syslog.openlog(str(module), 0, facility) syslog.syslog(syslog.LOG_INFO, msg) - except TypeError as e: + except (TypeError, ValueError) as e: self.fail_json( msg='Failed to log to syslog (%s). To proceed anyway, ' 'disable syslog logging by setting no_target_syslog '