| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Trying to resolve a path with RemoveRelativePathComponents that can't
be resolved without leaving leading parent components (e.g. "../worlds/foo"
or "bar/../../worlds/foo") will fail. To work around this, we leave
the relative components and simply remove the trailing components one
at a time, and bail out when we find a parent component. This will
still fail for paths like "worlds/foo/noexist/../auth.txt" (the path
before the last parent component must not exist), but this is fine
since you won't be able to open a file with a path like that anyways
(the O.S. will determine that the path doesn't exist.
Try `cat /a/../etc/passwd`).
|
| |
|
|
|
|
|
| |
It used to drop all of the return values from the
insecure version of the function.
|
| |
|
| |
|
| |
|
|
|
| |
Note that the macro CHECK_FILE_ERR implements the code removed
|
|
|
|
| |
This function could be used to steal insecure environments from trusted mods.
|
| |
|
|
|
|
|
| |
According to doc, dofile() raises an error when parsing failed due to syntax errors.
Fixes #2775
|
|
|
|
| |
Also fix a startup error caused by s_security.cpp
|
|
Due to compatibility concerns, this is temporarily disabled.
|