From: Simon McVittie Date: Mon, 27 Nov 2017 19:13:25 +0000 (+0000) Subject: dbus_message_demarshal: Set error if we can't allocate the loader X-Git-Tag: dbus-1.13.0~64 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ecbcffae19ff1b811fc7d0d602458c0f00dd6771;p=thirdparty%2Fdbus.git dbus_message_demarshal: Set error if we can't allocate the loader Bug: https://bugs.freedesktop.org/show_bug.cgi?id=100317 Reviewed-by: Philip Withnall Signed-off-by: Simon McVittie --- diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 0d985a827..66a397478 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -5086,7 +5086,7 @@ dbus_message_demarshal (const char *str, int len, DBusError *error) { - DBusMessageLoader *loader; + DBusMessageLoader *loader = NULL; DBusString *buffer; DBusMessage *msg; @@ -5095,7 +5095,7 @@ dbus_message_demarshal (const char *str, loader = _dbus_message_loader_new (); if (loader == NULL) - return NULL; + goto fail_oom; _dbus_message_loader_get_buffer (loader, &buffer, NULL, NULL); @@ -5126,7 +5126,10 @@ dbus_message_demarshal (const char *str, fail_oom: _DBUS_SET_OOM (error); - _dbus_message_loader_unref (loader); + + if (loader != NULL) + _dbus_message_loader_unref (loader); + return NULL; }