From: Ronny Chevalier Date: Tue, 24 Jun 2014 17:00:32 +0000 (+0200) Subject: use more _cleanup_ macro X-Git-Tag: v215~193 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=e1d758033dc7e101ab32323a0f1649d8daf56a22 use more _cleanup_ macro --- diff --git a/src/core/automount.c b/src/core/automount.c index 65e6d6f17..73a8ce17e 100644 --- a/src/core/automount.c +++ b/src/core/automount.c @@ -144,7 +144,7 @@ static int automount_add_default_dependencies(Automount *a) { static int automount_verify(Automount *a) { bool b; - char *e; + _cleanup_free_ char *e = NULL; assert(a); if (UNIT(a)->load_state != UNIT_LOADED) @@ -160,7 +160,6 @@ static int automount_verify(Automount *a) { return -ENOMEM; b = unit_has_name(UNIT(a), e); - free(e); if (!b) { log_error_unit(UNIT(a)->id, "%s's Where setting doesn't match unit name. Refusing.", UNIT(a)->id); diff --git a/src/core/execute.c b/src/core/execute.c index 78fb81f72..1ea646334 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -561,7 +561,7 @@ static int restore_confirm_stdio(int *saved_stdin, static int ask_for_confirmation(char *response, char **argv) { int saved_stdout = -1, saved_stdin = -1, r; - char *line; + _cleanup_free_ char *line = NULL; r = setup_confirm_stdio(&saved_stdin, &saved_stdout); if (r < 0) @@ -572,7 +572,6 @@ static int ask_for_confirmation(char *response, char **argv) { return -ENOMEM; r = ask(response, "yns", "Execute %s? [Yes, No, Skip] ", line); - free(line); restore_confirm_stdio(&saved_stdin, &saved_stdout); @@ -2058,8 +2057,8 @@ int exec_context_load_environment(const ExecContext *c, char ***l) { } static bool tty_may_match_dev_console(const char *tty) { - char *active = NULL, *console; - bool b; + _cleanup_free_ char *active = NULL; + char *console; if (startswith(tty, "/dev/")) tty += 5; @@ -2074,10 +2073,7 @@ static bool tty_may_match_dev_console(const char *tty) { return true; /* "tty0" means the active VC, so it may be the same sometimes */ - b = streq(console, tty) || (streq(console, "tty0") && tty_is_vc(tty)); - free(active); - - return b; + return streq(console, tty) || (streq(console, "tty0") && tty_is_vc(tty)); } bool exec_context_may_touch_console(ExecContext *ec) { @@ -2467,10 +2463,10 @@ char *exec_command_line(char **argv) { } void exec_command_dump(ExecCommand *c, FILE *f, const char *prefix) { - char *p2; + _cleanup_free_ char *p2 = NULL; const char *prefix2; - char *cmd; + _cleanup_free_ char *cmd = NULL; assert(c); assert(f); @@ -2486,11 +2482,7 @@ void exec_command_dump(ExecCommand *c, FILE *f, const char *prefix) { "%sCommand Line: %s\n", prefix, cmd ? cmd : strerror(ENOMEM)); - free(cmd); - exec_status_dump(&c->exec_status, f, prefix2); - - free(p2); } void exec_command_dump_list(ExecCommand *c, FILE *f, const char *prefix) { diff --git a/src/core/killall.c b/src/core/killall.c index eab48f7dc..291e1f90e 100644 --- a/src/core/killall.c +++ b/src/core/killall.c @@ -202,7 +202,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { void broadcast_signal(int sig, bool wait_for_exit, bool send_sighup) { sigset_t mask, oldmask; - Set *pids = NULL; + _cleanup_set_free_ Set *pids = NULL; if (wait_for_exit) pids = set_new(trivial_hash_func, trivial_compare_func); @@ -223,6 +223,4 @@ void broadcast_signal(int sig, bool wait_for_exit, bool send_sighup) { wait_for_children(pids, &mask); assert_se(sigprocmask(SIG_SETMASK, &oldmask, NULL) == 0); - - set_free(pids); } diff --git a/src/core/umount.c b/src/core/umount.c index a30f6740f..cffa45327 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -126,9 +126,8 @@ static int mount_points_list_get(MountPoint **head) { } static int swap_list_get(MountPoint **head) { - FILE *proc_swaps; + _cleanup_fclose_ FILE *proc_swaps = NULL; unsigned int i; - int r; assert(head); @@ -168,26 +167,19 @@ static int swap_list_get(MountPoint **head) { free(dev); if (!d) { - r = -ENOMEM; - goto finish; + return -ENOMEM; } if (!(swap = new0(MountPoint, 1))) { free(d); - r = -ENOMEM; - goto finish; + return -ENOMEM; } swap->path = d; LIST_PREPEND(mount_point, *head, swap); } - r = 0; - -finish: - fclose(proc_swaps); - - return r; + return 0; } static int loopback_list_get(MountPoint **head) { diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c index 64ce8a0e5..c72a099b5 100644 --- a/src/shared/conf-files.c +++ b/src/shared/conf-files.c @@ -98,7 +98,7 @@ static int base_cmp(const void *a, const void *b) { } static int conf_files_list_strv_internal(char ***strv, const char *suffix, const char *root, char **dirs) { - Hashmap *fh; + _cleanup_hashmap_free_ Hashmap *fh = NULL; char **files, **p; int r; @@ -116,7 +116,6 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const STRV_FOREACH(p, dirs) { r = files_add(fh, root, *p, suffix); if (r == -ENOMEM) { - hashmap_free_free(fh); return r; } else if (r < 0) log_debug("Failed to search for files in %s: %s", @@ -125,14 +124,12 @@ static int conf_files_list_strv_internal(char ***strv, const char *suffix, const files = hashmap_get_strv(fh); if (files == NULL) { - hashmap_free_free(fh); return -ENOMEM; } qsort_safe(files, hashmap_size(fh), sizeof(char *), base_cmp); *strv = files; - hashmap_free(fh); return 0; } diff --git a/src/shared/fdset.c b/src/shared/fdset.c index a2c861de3..d2ea66501 100644 --- a/src/shared/fdset.c +++ b/src/shared/fdset.c @@ -104,7 +104,7 @@ int fdset_remove(FDSet *s, int fd) { } int fdset_new_fill(FDSet **_s) { - DIR *d; + _cleanup_closedir_ DIR *d = NULL; struct dirent *de; int r = 0; FDSet *s; @@ -150,8 +150,6 @@ int fdset_new_fill(FDSet **_s) { s = NULL; finish: - closedir(d); - /* We won't close the fds here! */ if (s) set_free(MAKE_SET(s)); diff --git a/src/shared/path-util.c b/src/shared/path-util.c index d193494af..fd35e0c78 100644 --- a/src/shared/path-util.c +++ b/src/shared/path-util.c @@ -442,7 +442,7 @@ int path_is_mount_point(const char *t, bool allow_symlink) { }; int mount_id, mount_id_parent; - char *parent; + _cleanup_free_ char *parent = NULL; struct stat a, b; int r; @@ -473,7 +473,6 @@ int path_is_mount_point(const char *t, bool allow_symlink) { h.handle.handle_bytes = MAX_HANDLE_SZ; r = name_to_handle_at(AT_FDCWD, parent, &h.handle, &mount_id_parent, 0); - free(parent); if (r < 0) { /* The parent can't do name_to_handle_at() but the * directory we are interested in can? If so, it must @@ -504,7 +503,6 @@ fallback: return r; r = lstat(parent, &b); - free(parent); if (r < 0) return -errno; diff --git a/src/shared/util.c b/src/shared/util.c index dbdb69270..e7ff0f884 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -1440,7 +1440,7 @@ _pure_ static bool fd_in_set(int fd, const int fdset[], unsigned n_fdset) { } int close_all_fds(const int except[], unsigned n_except) { - DIR *d; + _cleanup_closedir_ DIR *d = NULL; struct dirent *de; int r = 0; @@ -1495,7 +1495,6 @@ int close_all_fds(const int except[], unsigned n_except) { } } - closedir(d); return r; }