From f8d400856cced12203fc92e86fb8308d6ee3e8a0 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 18 Jul 2012 12:34:49 +0200 Subject: [PATCH] Linux file watcher: cleanup --- bin/linux/fsnotifier | Bin 22484 -> 22484 bytes bin/linux/fsnotifier64 | Bin 24694 -> 24694 bytes native/fsNotifier/linux/main.c | 19 +++++++------------ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/bin/linux/fsnotifier b/bin/linux/fsnotifier index 6db5e802e80dfa914c23a16a255a1cfdee0aba1f..a69112111637b92ec5a42036a24dddbbc0e66bc4 100755 GIT binary patch delta 3933 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 delta 3923 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 diff --git a/bin/linux/fsnotifier64 b/bin/linux/fsnotifier64 index 71368b544bda515c921f2631dce9f1ca7662bc3d..355776567d548347b0af3af89bddcf780cfd3822 100755 GIT binary patch delta 4191 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 diff --git a/native/fsNotifier/linux/main.c b/native/fsNotifier/linux/main.c index 180140b344f7..8a2ea11b551c 100644 --- a/native/fsNotifier/linux/main.c +++ b/native/fsNotifier/linux/main.c @@ -289,7 +289,7 @@ static bool update_roots(array* new_roots) { array_delete_vs_data(unwatchable); array_delete_vs_data(mounts); - array_delete(new_roots); + array_delete_vs_data(new_roots); return true; } @@ -315,7 +315,6 @@ static bool register_roots(array* new_roots, array* unwatchable, array* mounts) if (unflattened[0] != '/') { userlog(LOG_WARNING, " ... not valid, skipped"); - free(new_root); continue; } @@ -324,7 +323,8 @@ static bool register_roots(array* new_roots, array* unwatchable, array* mounts) char* mount = array_get(mounts, j); if (strncmp(mount, unflattened, strlen(mount)) == 0) { userlog(LOG_DEBUG, "path %s is under unwatchable %s - ignoring", unflattened, mount); - skip = unflattened; + skip = strdup(unflattened); + CHECK_NULL(skip, false); break; } } @@ -340,26 +340,21 @@ static bool register_roots(array* new_roots, array* unwatchable, array* mounts) watch_root* root = malloc(sizeof(watch_root)); CHECK_NULL(root, false); root->id = id; - root->name = new_root; + root->name = strdup(new_root); + CHECK_NULL(root->name, false); CHECK_NULL(array_push(roots, root), false); } else if (id == ERR_ABORT) { return false; } - else if (id == ERR_IGNORE) { - free(new_root); - } - else { + else if (id != ERR_IGNORE) { if (show_warning && watch_limit_reached()) { int limit = get_watch_count(); userlog(LOG_WARNING, "watch limit (%d) reached", limit); output("MESSAGE\n" INOTIFY_LIMIT_MSG, limit); show_warning = false; // warn only once } - char* copy = strdup(unflattened); - CHECK_NULL(copy, false); - CHECK_NULL(array_push(unwatchable, copy), false); - free(new_root); + CHECK_NULL(array_push(unwatchable, strdup(unflattened)), false); } }