if (ctx->ethtool_fd == -1) {
r = ethtool_connect(&ctx->ethtool_fd);
- if (r < 0)
+ if (r < 0) {
+ log_warning("link_config: could not connect to ethtool: %s",
+ strerror(-r));
return r;
+ }
}
if (!ctx->rtnl) {
r = sd_rtnl_open(&ctx->rtnl, 0);
- if (r < 0)
+ if (r < 0) {
+ log_warning("link_config: could not connect to rtnl: %s",
+ strerror(-r));
return r;
+ }
}
return 0;
free(link->match_type);
free(link->description);
free(link->alias);
+ free(link->name_policy);
free(link);
}
link->wol = _WOL_INVALID;
link->duplex = _DUP_INVALID;
- r = config_parse(NULL, filename, file, "Match\0Link\0Ethernet\0", config_item_perf_lookup,
- (void*) link_config_gperf_lookup, false, false, link);
+ r = config_parse(NULL, filename, file,
+ "Match\0Link\0Ethernet\0",
+ config_item_perf_lookup, link_config_gperf_lookup,
+ false, false, link);
if (r < 0) {
log_warning("Could not parse config file %s: %s", filename, strerror(-r));
return r;
}
static bool enable_name_policy(void) {
- _cleanup_free_ char *line;
+ _cleanup_free_ char *line = NULL;
char *w, *state;
int r;
size_t l;
int link_config_load(link_config_ctx *ctx) {
int r;
- char **files, **f;
+ _cleanup_strv_free_ char **files;
+ char **f;
link_configs_free(ctx);
case MACPOLICY_PERSISTENT:
if (mac_is_random(device)) {
r = get_mac(device, false, &generated_mac);
- if (r < 0)
+ if (r == -ENOENT)
+ break;
+ else if (r < 0)
return r;
mac = &generated_mac;
}
case MACPOLICY_RANDOM:
if (!mac_is_random(device)) {
r = get_mac(device, true, &generated_mac);
- if (r < 0)
+ if (r == -ENOENT)
+ break;
+ else if (r < 0)
return r;
mac = &generated_mac;
}