activation-helper: Never crash if unable to write oom_score_adj

_dbus_warn() normally only logs a warning, but can be made fatal by
environment variables. In particular, we do that during unit testing,
which can result in a build-time test failure if dbus is built in a
sandbox environment that prevents write access.

_dbus_log() does only the logging part of _dbus_warn(), which seems
more appropriate here.

Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
Simon McVittie 2022-04-01 18:58:34 +01:00
parent b3163746a9
commit ad72e3b9e3

View file

@ -348,7 +348,7 @@ exec_for_correct_user (char *exec, char *user, DBusError *error)
/* Resetting the OOM score adjustment is best-effort, so we don't
* treat a failure to do so as fatal. */
if (!_dbus_reset_oom_score_adj (&error_str))
_dbus_warn ("%s: %s", error_str, strerror (errno));
_dbus_log (DBUS_SYSTEM_LOG_WARNING, "%s: %s", error_str, strerror (errno));
if (!switch_user (user, error))
return FALSE;