summaryrefslogtreecommitdiff
path: root/dbus
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2022-09-30 15:08:20 +0100
committerSimon McVittie <smcv@collabora.com>2022-10-11 11:54:21 +0000
commit3c0e63c10a63dc856e4c698c9e363f0ad7a223a9 (patch)
tree1cbe2e5429444d48c54ddc2112ec6b83d5e01b62 /dbus
parentccab882bad64e2713a3227fffbc1f342379e326e (diff)
downloaddbus-3c0e63c10a63dc856e4c698c9e363f0ad7a223a9.tar.gz
dbus-message: Report OOM as OOM, not InvalidArgs
Resolves: https://gitlab.freedesktop.org/dbus/dbus/-/issues/420 Signed-off-by: Simon McVittie <smcv@collabora.com>
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-message.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c
index 6f2a518d..b43d5f75 100644
--- a/dbus/dbus-message.c
+++ b/dbus/dbus-message.c
@@ -5201,6 +5201,9 @@ dbus_message_demarshal (const char *str,
return msg;
fail_corrupt:
+ if (loader->corruption_reason == DBUS_VALIDITY_UNKNOWN_OOM_ERROR)
+ goto fail_oom;
+
dbus_set_error (error, DBUS_ERROR_INVALID_ARGS, "Message is corrupted (%s)",
_dbus_validity_to_error_message (loader->corruption_reason));
_dbus_message_loader_unref (loader);