You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.9 KiB
53 lines
1.9 KiB
From 2b7119bc5e1a62d1bb6cb6ac0e4239345b9f8691 Mon Sep 17 00:00:00 2001 |
|
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
|
Date: Fri, 14 Aug 2015 23:40:27 +0200 |
|
Subject: [PATCH] journal: remove error check that never happens |
|
|
|
remove_directory will always return 0 so this can never happen. |
|
Besides that, d->path and d are freed so we would end up with |
|
a null pointer dereference anyway. |
|
|
|
(cherry picked from commit b2b46f91dbb71676cb981907c68521e4b1e80af1) |
|
|
|
Related: #1465759 |
|
--- |
|
src/journal/sd-journal.c | 12 +++--------- |
|
1 file changed, 3 insertions(+), 9 deletions(-) |
|
|
|
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c |
|
index 72f312b67..3749f9e89 100644 |
|
--- a/src/journal/sd-journal.c |
|
+++ b/src/journal/sd-journal.c |
|
@@ -1487,7 +1487,7 @@ static int add_root_directory(sd_journal *j, const char *p) { |
|
return 0; |
|
} |
|
|
|
-static int remove_directory(sd_journal *j, Directory *d) { |
|
+static void remove_directory(sd_journal *j, Directory *d) { |
|
assert(j); |
|
|
|
if (d->wd > 0) { |
|
@@ -1506,8 +1506,6 @@ static int remove_directory(sd_journal *j, Directory *d) { |
|
|
|
free(d->path); |
|
free(d); |
|
- |
|
- return 0; |
|
} |
|
|
|
static int add_search_paths(sd_journal *j) { |
|
@@ -2145,12 +2143,8 @@ static void process_inotify_event(sd_journal *j, struct inotify_event *e) { |
|
|
|
/* Event for a subdirectory */ |
|
|
|
- if (e->mask & (IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT)) { |
|
- r = remove_directory(j, d); |
|
- if (r < 0) |
|
- log_debug_errno(r, "Failed to remove directory %s: %m", d->path); |
|
- } |
|
- |
|
+ if (e->mask & (IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT)) |
|
+ remove_directory(j, d); |
|
|
|
} else if (d->is_root && (e->mask & IN_ISDIR) && e->len > 0 && sd_id128_from_string(e->name, &id) >= 0) { |
|
|
|
|