libnm: reserve size for properties_override array

For settings with many properties, pre-allocate a larger buffer via
_nm_sett_info_property_override_create_array_sized().

The buffer is larger than needed, so when we add more properties it
still works. In any case, GArray will grow automatically, so getting
this wrong is not fatal (just suboptimal).
This commit is contained in:
Thomas Haller 2023-10-25 16:10:06 +02:00
parent 53b532ffba
commit 4a9c32063f
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
6 changed files with 6 additions and 6 deletions

View file

@ -3197,7 +3197,7 @@ nm_setting_802_1x_class_init(NMSetting8021xClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray *properties_override = _nm_sett_info_property_override_create_array();
GArray *properties_override = _nm_sett_info_property_override_create_array_sized(55);
object_class->get_property = get_property;
object_class->set_property = set_property;

View file

@ -1416,7 +1416,7 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray *properties_override = _nm_sett_info_property_override_create_array();
GArray *properties_override = _nm_sett_info_property_override_create_array_sized(35);
object_class->get_property = get_property;
object_class->set_property = set_property;

View file

@ -1806,7 +1806,7 @@ nm_setting_connection_class_init(NMSettingConnectionClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray *properties_override = _nm_sett_info_property_override_create_array();
GArray *properties_override = _nm_sett_info_property_override_create_array_sized(35);
object_class->get_property = get_property;
object_class->set_property = set_property;

View file

@ -5963,7 +5963,7 @@ dns_data_from_dbus(_NM_SETT_INFO_PROP_FROM_DBUS_FCN_ARGS _nm_nil)
GArray *
_nm_sett_info_property_override_create_array_ip_config(int addr_family)
{
GArray *properties_override = _nm_sett_info_property_override_create_array();
GArray *properties_override = _nm_sett_info_property_override_create_array_sized(45);
nm_assert_addr_family(addr_family);

View file

@ -1383,7 +1383,7 @@ nm_setting_wireless_security_class_init(NMSettingWirelessSecurityClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray *properties_override = _nm_sett_info_property_override_create_array();
GArray *properties_override = _nm_sett_info_property_override_create_array_sized(25);
object_class->get_property = get_property;
object_class->set_property = set_property;

View file

@ -1312,7 +1312,7 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray *properties_override = _nm_sett_info_property_override_create_array();
GArray *properties_override = _nm_sett_info_property_override_create_array_sized(25);
object_class->set_property = set_property;
object_class->get_property = get_property;