mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-18 20:11:17 +00:00
NA: Fix possible changes in files outside of working directory (#1206)
This commit is contained in:
parent
6da0bc557f
commit
e343c577cd
@ -41,6 +41,10 @@ def get_new_command(command):
|
||||
def side_effect(old_cmd, command):
|
||||
with tarfile.TarFile(_tar_file(old_cmd.script_parts)[0]) as archive:
|
||||
for file in archive.getnames():
|
||||
if not os.path.abspath(file).startswith(os.getcwd()):
|
||||
# it's unsafe to overwrite files outside of the current directory
|
||||
continue
|
||||
|
||||
try:
|
||||
os.remove(file)
|
||||
except OSError:
|
||||
|
@ -45,6 +45,10 @@ def get_new_command(command):
|
||||
def side_effect(old_cmd, command):
|
||||
with zipfile.ZipFile(_zip_file(old_cmd), 'r') as archive:
|
||||
for file in archive.namelist():
|
||||
if not os.path.abspath(file).startswith(os.getcwd()):
|
||||
# it's unsafe to overwrite files outside of the current directory
|
||||
continue
|
||||
|
||||
try:
|
||||
os.remove(file)
|
||||
except OSError:
|
||||
|
Loading…
x
Reference in New Issue
Block a user