]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-95041: Fix several minor issues in syslog.openlog() (GH-95058)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 26 Jul 2022 06:35:25 +0000 (23:35 -0700)
committerGitHub <noreply@github.com>
Tue, 26 Jul 2022 06:35:25 +0000 (23:35 -0700)
commitdd0c1a3577618c30598a0a57f9a91e316605f6b9
treef191e6b52bb1924cb8dd29b7c01daab5cbbddc3b
parent0418d9f2f3c6736dcf00703a8d3cbe5b19cfb83e
gh-95041: Fix several minor issues in syslog.openlog() (GH-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 68c555a50a2b74731b0db0f4dcbf51b2c11d4853)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Modules/syslogmodule.c