From: Philip Withnall Date: Thu, 9 Feb 2017 10:06:11 +0000 (+0000) Subject: dbus-message-util: Add some missing OOM paths to an internal test X-Git-Tag: dbus-1.11.10~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e68968a567fdfb9a2798c9427e13b95e8ef53d2;p=thirdparty%2Fdbus.git dbus-message-util: Add some missing OOM paths to an internal test Coverity ID: 54688 Signed-off-by: Philip Withnall Bug: https://bugs.freedesktop.org/show_bug.cgi?id=99724 Reviewed-by: Simon McVittie --- diff --git a/dbus/dbus-message-util.c b/dbus/dbus-message-util.c index 740206108..9fa5a21cb 100644 --- a/dbus/dbus-message-util.c +++ b/dbus/dbus-message-util.c @@ -479,6 +479,8 @@ dbus_internal_do_not_use_try_message_data (const DBusString *data, /* Write the data one byte at a time */ loader = _dbus_message_loader_new (); + if (loader == NULL) + goto failed; /* check some trivial loader functions */ _dbus_message_loader_ref (loader); @@ -490,8 +492,9 @@ dbus_internal_do_not_use_try_message_data (const DBusString *data, DBusString *buffer; _dbus_message_loader_get_buffer (loader, &buffer, NULL, NULL); - _dbus_string_append_byte (buffer, - _dbus_string_get_byte (data, i)); + if (!_dbus_string_append_byte (buffer, + _dbus_string_get_byte (data, i))) + goto failed; _dbus_message_loader_return_buffer (loader, buffer); } @@ -504,13 +507,16 @@ dbus_internal_do_not_use_try_message_data (const DBusString *data, /* Write the data all at once */ loader = _dbus_message_loader_new (); + if (loader == NULL) + goto failed; { DBusString *buffer; _dbus_message_loader_get_buffer (loader, &buffer, NULL, NULL); - _dbus_string_copy (data, 0, buffer, - _dbus_string_get_length (buffer)); + if (!_dbus_string_copy (data, 0, buffer, + _dbus_string_get_length (buffer))) + goto failed; _dbus_message_loader_return_buffer (loader, buffer); } @@ -523,6 +529,8 @@ dbus_internal_do_not_use_try_message_data (const DBusString *data, /* Write the data 2 bytes at a time */ loader = _dbus_message_loader_new (); + if (loader == NULL) + goto failed; len = _dbus_string_get_length (data); for (i = 0; i < len; i += 2) @@ -530,11 +538,17 @@ dbus_internal_do_not_use_try_message_data (const DBusString *data, DBusString *buffer; _dbus_message_loader_get_buffer (loader, &buffer, NULL, NULL); - _dbus_string_append_byte (buffer, - _dbus_string_get_byte (data, i)); + if (!_dbus_string_append_byte (buffer, + _dbus_string_get_byte (data, i))) + goto failed; + if ((i+1) < len) - _dbus_string_append_byte (buffer, - _dbus_string_get_byte (data, i+1)); + { + if (!_dbus_string_append_byte (buffer, + _dbus_string_get_byte (data, i+1))) + goto failed; + } + _dbus_message_loader_return_buffer (loader, buffer); }