From: Zbigniew Jędrzejewski-Szmek Date: Thu, 3 Apr 2014 18:05:01 +0000 (-0400) Subject: Fix a few return codes in error paths X-Git-Tag: v213~473 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=ecb08ec6a5c52f2d940f3b8147e2a480affd46e1;hp=ee0e4cca5ac37a094dfe1074907dae70c7b7701c;ds=sidebyside Fix a few return codes in error paths --- diff --git a/src/network/networkd-netdev.c b/src/network/networkd-netdev.c index 762eff2f6..92548d96f 100644 --- a/src/network/networkd-netdev.c +++ b/src/network/networkd-netdev.c @@ -461,7 +461,7 @@ static int netdev_load_one(Manager *manager, const char *filename) { if (errno == ENOENT) return 0; else - return errno; + return -errno; } netdev = new0(NetDev, 1); diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 47fab4ecb..bdf71e854 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -41,7 +41,7 @@ static int network_load_one(Manager *manager, const char *filename) { if (errno == ENOENT) return 0; else - return errno; + return -errno; } network = new0(Network, 1); diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index 5bb6b02c1..0c563b2db 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -139,7 +139,7 @@ void link_config_ctx_free(link_config_ctx *ctx) { } static int load_link(link_config_ctx *ctx, const char *filename) { - link_config *link; + _cleanup_free_ link_config *link = NULL; _cleanup_fclose_ FILE *file; int r; @@ -151,14 +151,12 @@ static int load_link(link_config_ctx *ctx, const char *filename) { if (errno == ENOENT) return 0; else - return errno; + return -errno; } link = new0(link_config, 1); - if (!link) { - r = log_oom(); - goto failure; - } + if (!link) + return log_oom(); link->mac_policy = _MACPOLICY_INVALID; link->wol = _WOL_INVALID; @@ -168,19 +166,16 @@ static int load_link(link_config_ctx *ctx, const char *filename) { (void*) link_config_gperf_lookup, false, false, link); if (r < 0) { log_warning("Could not parse config file %s: %s", filename, strerror(-r)); - goto failure; + return r; } else log_debug("Parsed configuration file %s", filename); link->filename = strdup(filename); LIST_PREPEND(links, ctx->links, link); + link = NULL; return 0; - -failure: - free(link); - return r; } static bool enable_name_policy(void) {