From ecb08ec6a5c52f2d940f3b8147e2a480affd46e1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 3 Apr 2014 14:05:01 -0400 Subject: [PATCH 1/1] Fix a few return codes in error paths --- src/network/networkd-netdev.c | 2 +- src/network/networkd-network.c | 2 +- src/udev/net/link-config.c | 17 ++++++----------- 3 files changed, 8 insertions(+), 13 deletions(-) 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) { -- 2.30.2