diff options
author | Simon McVittie <smcv@collabora.com> | 2019-07-03 13:41:11 +0000 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2019-07-03 13:41:11 +0000 |
commit | 47148c6b55ad5db32a054027b94c62facf92159f (patch) | |
tree | 9f7bbc651a6447af0354451c6ce9a986cb48f5bb | |
parent | 379eb3a253af1e1d15fe19e8f5125c4d6e09a82a (diff) | |
parent | 0cc191f8e861ba5b253b3c404f94fb5e8b75684f (diff) | |
download | dbus-47148c6b55ad5db32a054027b94c62facf92159f.tar.gz |
Merge branch 'auth-idempotent' into 'master'
auth: Clear GUID from server if out of memory
See merge request dbus/dbus!119
-rw-r--r-- | dbus/dbus-auth.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/dbus/dbus-auth.c b/dbus/dbus-auth.c index 9e8b2bc0..62b5b13c 100644 --- a/dbus/dbus-auth.c +++ b/dbus/dbus-auth.c @@ -1664,10 +1664,25 @@ process_ok(DBusAuth *auth, _dbus_string_get_const_data (& DBUS_AUTH_CLIENT (auth)->guid_from_server)); if (auth->unix_fd_possible) - return send_negotiate_unix_fd(auth); + { + if (!send_negotiate_unix_fd (auth)) + { + _dbus_string_set_length (& DBUS_AUTH_CLIENT (auth)->guid_from_server, 0); + return FALSE; + } + + return TRUE; + } _dbus_verbose("Not negotiating unix fd passing, since not possible\n"); - return send_begin (auth); + + if (!send_begin (auth)) + { + _dbus_string_set_length (& DBUS_AUTH_CLIENT (auth)->guid_from_server, 0); + return FALSE; + } + + return TRUE; } static dbus_bool_t |