From: Zbigniew Jędrzejewski-Szmek Date: Mon, 16 Feb 2015 18:56:31 +0000 (-0500) Subject: test-network: fix segfault with NULL dev_path/driver/type/name X-Git-Tag: v219~4 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d49dc8127676358e706663f3603265942d2507aa test-network: fix segfault with NULL dev_path/driver/type/name --- diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c index b6bddd9c6..81f90aa38 100644 --- a/src/libsystemd-network/network-internal.c +++ b/src/libsystemd-network/network-internal.c @@ -112,16 +112,20 @@ bool net_match_config(const struct ether_addr *match_mac, if (match_mac && (!dev_mac || memcmp(match_mac, dev_mac, ETH_ALEN))) return false; - if (!strv_fnmatch_or_empty(dev_path, match_paths, 0)) + if (!strv_isempty(match_paths) && + (!dev_path || !strv_fnmatch(dev_path, match_paths, 0))) return false; - if (!strv_fnmatch_or_empty(dev_driver, match_drivers, 0)) + if (!strv_isempty(match_drivers) && + (!dev_driver || !strv_fnmatch(dev_driver, match_drivers, 0))) return false; - if (!strv_fnmatch_or_empty(dev_type, match_types, 0)) + if (!strv_isempty(match_types) && + (!dev_type || !strv_fnmatch_or_empty(dev_type, match_types, 0))) return false; - if (!strv_fnmatch_or_empty(dev_name, match_names, 0)) + if (!strv_isempty(match_names) && + (!dev_name || !strv_fnmatch_or_empty(dev_name, match_names, 0))) return false; return true;