From ef42202ac8ed27e7ff1fc90ef8bc2590046dff25 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Mon, 22 Apr 2013 23:12:15 -0400 Subject: Add set_consume which always takes ownership Freeing in error path is the common pattern with set_put(). --- src/shared/install.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/shared/install.c') diff --git a/src/shared/install.c b/src/shared/install.c index 959de04810..b22019d7b5 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -178,11 +178,9 @@ static int mark_symlink_for_removal( path_kill_slashes(n); - r = set_put(*remove_symlinks_to, n); - if (r < 0) { - free(n); + r = set_consume(*remove_symlinks_to, n); + if (r < 0) return r == -EEXIST ? 0 : r; - } return 0; } -- cgit v1.2.3-54-g00ecf