GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

Commit 2ceea131 authored by Nick Mathewson's avatar Nick Mathewson 🐛

Merge remote-tracking branch 'tor-gitlab/mr/164'

parents d4102531 304ae473
Pipeline #1284 passed with stage
in 58 minutes and 54 seconds
o Minor bugfixes (configuration):
- Fix bug where %including a pattern ending with */ would include files
and folders (instead of folders only) in versions of glibc < 2.19.
Fixes bug 40141; bugfix on 0.4.5.0-alpha-dev. Patch by Daniel Pinto.
......@@ -598,6 +598,12 @@ tor_glob(const char *pattern)
return NULL;
}
// #40141: workaround for bug in glibc < 2.19 where patterns ending in path
// separator match files and folders instead of folders only
size_t pattern_len = strlen(pattern);
bool dir_only = has_glob(pattern) &&
pattern_len > 0 && pattern[pattern_len-1] == *PATH_SEPARATOR;
result = smartlist_new();
size_t i;
for (i = 0; i < matches.gl_pathc; i++) {
......@@ -606,7 +612,12 @@ tor_glob(const char *pattern)
if (len > 0 && match[len-1] == *PATH_SEPARATOR) {
match[len-1] = '\0';
}
smartlist_add(result, match);
if (!dir_only || (dir_only && is_dir(file_status(match)))) {
smartlist_add(result, match);
} else {
tor_free(match);
}
}
globfree(&matches);
#else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment