From: Yu Watanabe Date: Sat, 2 Mar 2019 16:16:50 +0000 (+0900) Subject: util: use _cleanup_ attributes X-Git-Tag: v242-rc1~203^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81260be12e04a4e0fc929b372ee72190c1b66f52;p=thirdparty%2Fsystemd.git util: use _cleanup_ attributes --- diff --git a/src/basic/in-addr-util.c b/src/basic/in-addr-util.c index bc6b9ce44d5..122bb17a954 100644 --- a/src/basic/in-addr-util.c +++ b/src/basic/in-addr-util.c @@ -294,7 +294,7 @@ int in_addr_random_prefix( } int in_addr_to_string(int family, const union in_addr_union *u, char **ret) { - char *x; + _cleanup_free_ char *x = NULL; size_t l; assert(u); @@ -312,18 +312,16 @@ int in_addr_to_string(int family, const union in_addr_union *u, char **ret) { return -ENOMEM; errno = 0; - if (!inet_ntop(family, u, x, l)) { - free(x); + if (!inet_ntop(family, u, x, l)) return errno > 0 ? -errno : -EINVAL; - } - *ret = x; + *ret = TAKE_PTR(x); return 0; } int in_addr_ifindex_to_string(int family, const union in_addr_union *u, int ifindex, char **ret) { + _cleanup_free_ char *x = NULL; size_t l; - char *x; int r; assert(u); @@ -349,14 +347,12 @@ int in_addr_ifindex_to_string(int family, const union in_addr_union *u, int ifin return -ENOMEM; errno = 0; - if (!inet_ntop(family, u, x, l)) { - free(x); + if (!inet_ntop(family, u, x, l)) return errno > 0 ? -errno : -EINVAL; - } sprintf(strchr(x, 0), "%%%i", ifindex); - *ret = x; + *ret = TAKE_PTR(x); return 0; fallback: