KDBUS_PART_FOREACH(item, msg, items)
{
- if (item->size <= KDBUS_ITEM_HEADER_SIZE)
+ if (item->size < KDBUS_ITEM_HEADER_SIZE)
{
_dbus_verbose(" +%s (%llu bytes) invalid data record\n", enum_MSG(item->type), item->size);
return -1;
DBusMessage *message = NULL;
DBusMessageIter args;
const char* emptyString = "";
- const char* pString = NULL;
- char dbus_name[(unsigned int)(snprintf((char*)pString, 0, ":1.%llu0", ULLONG_MAX))];
+ const char* pString = NULL;
+ char dbus_name[128];
const char* pDBusName = dbus_name;
#if KDBUS_MSG_DECODE_DEBUG == 1
char buf[32];
KDBUS_PART_FOREACH(item, msg, items)
{
- if (item->size <= KDBUS_ITEM_HEADER_SIZE)
+ if (item->size < KDBUS_ITEM_HEADER_SIZE)
{
_dbus_verbose(" +%s (%llu bytes) invalid data record\n", enum_MSG(item->type), item->size);
- break; //??? continue (because dbus will find error) or break
+ ret_size = -1;
+ break;
}
switch (item->type)