Fix error caused by broken symlinks (#494)

When a symbolic link points to an invalid path, the value of `link_to`
equals `nil`. This value makes `utils.path_relative` throw an error,
since it expects a string as the first argument
This commit is contained in:
sansone931
2021-07-07 03:30:22 -03:00
committed by GitHub
parent 4388338a6a
commit 933d69a37f

View File

@@ -65,7 +65,7 @@ local function link_new(cwd, name)
local absolute_path = utils.path_join({ cwd, name })
local link_to = luv.fs_realpath(absolute_path)
-- if links to a file outside cwd, relative_path equals absolute_path
local relative_path = utils.path_relative(link_to, luv.cwd())
local relative_path = link_to ~= nil and utils.path_relative(link_to, luv.cwd()) or nil
local stat = luv.fs_stat(absolute_path)
local open, entries
if (link_to ~= nil) and luv.fs_stat(link_to).type == 'directory' then