Backported from 1.13.0. Previously this was fixed in the dbus-1.14 branch
but unfixed in the dbus-1.12 branch, but we need it fixed in dbus-1.12
if we want the additional test coverage for dbus#413 to pass.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=100317
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Signed-off-by: Simon McVittie <smcv@collabora.com>
(cherry picked from commit
ecbcffae19ff1b811fc7d0d602458c0f00dd6771)
int len,
DBusError *error)
{
- DBusMessageLoader *loader;
+ DBusMessageLoader *loader = NULL;
DBusString *buffer;
DBusMessage *msg;
loader = _dbus_message_loader_new ();
if (loader == NULL)
- return NULL;
+ goto fail_oom;
_dbus_message_loader_get_buffer (loader, &buffer, NULL, NULL);
fail_oom:
_DBUS_SET_OOM (error);
- _dbus_message_loader_unref (loader);
+
+ if (loader != NULL)
+ _dbus_message_loader_unref (loader);
+
return NULL;
}