filter path traversal
This commit is contained in:
parent
10298230ce
commit
548eae95f2
@ -101,15 +101,19 @@ QString AOApplication::get_evidence_path(QString p_file)
|
|||||||
|
|
||||||
QString AOApplication::get_case_sensitive_path(QString p_file)
|
QString AOApplication::get_case_sensitive_path(QString p_file)
|
||||||
{
|
{
|
||||||
|
QFileInfo file(p_file);
|
||||||
|
QString file_basename = file.fileName();
|
||||||
|
|
||||||
|
// no path traversal above base folder
|
||||||
|
if (!(file.absolutePath().startsWith(get_base_path())))
|
||||||
|
return get_base_path() + file_basename;
|
||||||
|
|
||||||
#ifdef CASE_SENSITIVE_FILESYSTEM
|
#ifdef CASE_SENSITIVE_FILESYSTEM
|
||||||
// first, check to see if it's actually there (also serves as base case for
|
// first, check to see if it's actually there (also serves as base case for
|
||||||
// recursion)
|
// recursion)
|
||||||
if (exists(p_file))
|
if (exists(p_file))
|
||||||
return p_file;
|
return p_file;
|
||||||
|
|
||||||
QFileInfo file(p_file);
|
|
||||||
|
|
||||||
QString file_basename = file.fileName();
|
|
||||||
QString file_parent_dir = get_case_sensitive_path(file.absolutePath());
|
QString file_parent_dir = get_case_sensitive_path(file.absolutePath());
|
||||||
|
|
||||||
// second, does it exist in the new parent dir?
|
// second, does it exist in the new parent dir?
|
||||||
|
Loading…
Reference in New Issue
Block a user