Doing a malloc and a hex-encoding pass just to produce a _dbus_verbose
message (i.e. a message that, in practice, nobody will see) seems like
overkill, and this block had incorrect error handling (not checking the
result of _dbus_string_init) which upsets static analysis tools.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29881
Bug-NB: NB#180486
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
{
_dbus_verbose ("%s: Received invalid UTF-8 trace data from ANONYMOUS client\n",
DBUS_AUTH_NAME (auth));
-
- {
- DBusString plaintext;
- DBusString encoded;
- _dbus_string_init_const (&plaintext, "D-Bus " DBUS_VERSION_STRING);
- _dbus_string_init (&encoded);
- _dbus_string_hex_encode (&plaintext, 0,
- &encoded,
- 0);
- _dbus_verbose ("%s: try '%s'\n",
- DBUS_AUTH_NAME (auth), _dbus_string_get_const_data (&encoded));
- }
return send_rejected (auth);
}