Improved a length check in parse_merge_name().
[rsync/rsync.git] / util.c
diff --git a/util.c b/util.c
index a4a08e7..27894a1 100644 (file)
--- a/util.c
+++ b/util.c
@@ -586,22 +586,15 @@ static inline void call_glob_match(const char *name, int len, int from_glob,
                STRUCT_STAT st;
                int is_dir;
 
-               if (do_stat(glob.arg_buf, &st) != 0) {
-                       if (from_glob)
-                               return;
-                       is_dir = 0;
-               } else {
-                       is_dir = S_ISDIR(st.st_mode) != 0;
-                       if (arg && !is_dir)
-                               return;
-               }
+               if (do_stat(glob.arg_buf, &st) != 0)
+                       return;
+               is_dir = S_ISDIR(st.st_mode) != 0;
+               if (arg && !is_dir)
+                       return;
 
                if (daemon_filter_list.head
-                && check_filter(&daemon_filter_list, use_buf, is_dir) < 0) {
-                       if (from_glob)
-                               return;
-                       arg = NULL;
-               }
+                && check_filter(&daemon_filter_list, FLOG, use_buf, is_dir) < 0)
+                       return;
        }
 
        if (arg) {
@@ -1077,10 +1070,10 @@ char *partial_dir_fname(const char *fname)
        if (daemon_filter_list.head) {
                t = strrchr(partial_fname, '/');
                *t = '\0';
-               if (check_filter(&daemon_filter_list, partial_fname, 1) < 0)
+               if (check_filter(&daemon_filter_list, FLOG, partial_fname, 1) < 0)
                        return NULL;
                *t = '/';
-               if (check_filter(&daemon_filter_list, partial_fname, 0) < 0)
+               if (check_filter(&daemon_filter_list, FLOG, partial_fname, 0) < 0)
                        return NULL;
        }