◐ Shell
clean mode source ↗

[3.10] gh-95041: Fix several minor issues in syslog.openlog() (GH-95058) by miss-islington · Pull Request #95262 · python/cpython

@serhiy-storchaka @miss-islington

…H-95058)

* syslog_get_argv() swallows exceptions, but not in all cases.
* if ident is non UTF-8 encodable, syslog.openlog() fails after setting the
  global reference to ident. Now the C string saved internally in the previous
  call to openlog() points to the freed memory.
* PySys_Audit() can crash if ident is NULL.
* There may be a race condition with syslog.syslog(), because the global
  reference to ident is decrefed before setting the new value.
* Possible use of freed memory if syslog.openlog() is called while
  the GIL is released in syslog.syslog().
(cherry picked from commit 68c555a)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>