Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
a leading / in a pattern now means "use a absolute path match". This
[rsync/rsync.git]
/
exclude.c
diff --git
a/exclude.c
b/exclude.c
index
935c0c5
..
7504f96
100644
(file)
--- a/
exclude.c
+++ b/
exclude.c
@@
-43,6
+43,8
@@
static int check_one_exclude(char *name,char *pattern)
if (!name[0]) return 0;
if (!name[0]) return 0;
+ if (*pattern == '/' && *name != '/') pattern++;
+
if (is_regex(pattern)) {
if (fnmatch(pattern, name, 0) == 0)
return 1;
if (is_regex(pattern)) {
if (fnmatch(pattern, name, 0) == 0)
return 1;
@@
-164,9
+166,9
@@
void recv_exclude_list(int f)
char line[MAXPATHLEN];
int l;
while ((l=read_int(f))) {
char line[MAXPATHLEN];
int l;
while ((l=read_int(f))) {
-
read_buf(f,line,l
);
-
line[l] = 0
;
- add_exclude(line);
+
if (l >= MAXPATHLEN) overflow("recv_exclude_list"
);
+
read_sbuf(f,line,l)
;
+
add_exclude(line);
}
}
}
}