From: Christian Brauner Date: Tue, 8 Dec 2020 17:59:45 +0000 (+0100) Subject: confile: cleanup get_config_net_nic() X-Git-Tag: lxc-5.0.0~330^2~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=05a9b9676ddc853c3001e696daf222084783b759;p=thirdparty%2Flxc.git confile: cleanup get_config_net_nic() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 5f6f18d5c..e0848c75b 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -5531,31 +5531,25 @@ static int clr_config_net_veth_ipv6_route(const char *key, static int get_config_net_nic(const char *key, char *retv, int inlen, struct lxc_conf *c, void *data) { - int ret; + __do_free char *deindexed_key = NULL; + ssize_t idx = -1; const char *idxstring; struct lxc_config_t *config; struct lxc_netdev *netdev; - ssize_t idx = -1; - char *deindexed_key = NULL; idxstring = key + 8; if (!isdigit(*idxstring)) - return -1; + return ret_errno(EINVAL); config = get_network_config_ops(key, c, &idx, &deindexed_key); if (!config || idx < 0) - return -1; + return -errno; netdev = lxc_get_netdev_by_idx(c, (unsigned int)idx, false); - if (!netdev) { - free(deindexed_key); - return -1; - } - - ret = config->get(deindexed_key, retv, inlen, c, netdev); - free(deindexed_key); + if (!netdev) + return ret_errno(EINVAL); - return ret; + return config->get(deindexed_key, retv, inlen, c, netdev); } static int get_config_net_type(const char *key, char *retv, int inlen,