1
0
forked from drath/libratbag

libratbag-data: fix possible NULL dereferences

This can happen when a device has not properly initialized and this
fields have not been set.
This commit is contained in:
Thomas Weißschuh
2022-07-21 10:55:42 +02:00
committed by Yaroslav Chvanov
parent 07b40316fb
commit 0fc6764b47

View File

@@ -325,16 +325,20 @@ ratbag_device_data_destroy(struct ratbag_device_data *data)
{
switch (data->drivertype) {
case HIDPP10:
free(data->hidpp10.dpi_list->entries);
if (data->hidpp10.dpi_list) {
free(data->hidpp10.dpi_list->entries);
free(data->hidpp10.dpi_list);
}
free(data->hidpp10.dpi_list);
free(data->hidpp10.dpi_range);
free(data->hidpp10.profile_type);
break;
case STEELSERIES:
free(data->steelseries.dpi_list->entries);
if (data->steelseries.dpi_list) {
free(data->steelseries.dpi_list->entries);
free(data->steelseries.dpi_list);
}
free(data->steelseries.dpi_list);
free(data->steelseries.dpi_range);
break;
default: