summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-03-21 08:23:54 +0100
committerThomas Haller <thaller@redhat.com>2019-03-24 09:21:13 +0100
commit047adae242494fb77bcc4767feb4affbab9c287f (patch)
treefea74398dc0953d2a094eb7f17f6b6d4e1bf03ad
parentacf1cf61cf406729ef2704e6ace22b0367c90e77 (diff)
downloadNetworkManager-047adae242494fb77bcc4767feb4affbab9c287f.tar.gz
libnm/team: fix crash with nm_setting_team_remove_runner_tx_hash_by_value() having no runner_tx_hash array
-rw-r--r--libnm-core/nm-setting-team.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c
index 42ee3eec89..f3b52308b1 100644
--- a/libnm-core/nm-setting-team.c
+++ b/libnm-core/nm-setting-team.c
@@ -929,13 +929,14 @@ nm_setting_team_remove_runner_tx_hash_by_value (NMSettingTeam *setting,
g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), FALSE);
g_return_val_if_fail (txhash != NULL, FALSE);
- g_return_val_if_fail (txhash[0] != '\0', FALSE);
- for (i = 0; i < priv->runner_tx_hash->len; i++) {
- if (nm_streq (txhash, priv->runner_tx_hash->pdata[i])) {
- g_ptr_array_remove_index (priv->runner_tx_hash, i);
- _notify (setting, PROP_RUNNER_TX_HASH);
- return TRUE;
+ if (priv->runner_tx_hash) {
+ for (i = 0; i < priv->runner_tx_hash->len; i++) {
+ if (nm_streq (txhash, priv->runner_tx_hash->pdata[i])) {
+ g_ptr_array_remove_index (priv->runner_tx_hash, i);
+ _notify (setting, PROP_RUNNER_TX_HASH);
+ return TRUE;
+ }
}
}
return FALSE;