dbus-message-util: Add some missing OOM paths to an internal test

Coverity ID: 54688
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=99724
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
This commit is contained in:
Philip Withnall 2017-02-09 10:06:11 +00:00 committed by Simon McVittie
parent c5a5c4047d
commit 0e68968a56

View file

@ -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);
}