diff options
author | Anthony Ramine <[email protected]> | 2014-07-01 00:58:26 +0200 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2014-07-09 14:57:11 +0200 |
commit | de2fb97f15ac98aa1d1c5533aacca378334f4778 (patch) | |
tree | da2c0c88479b4bbcdbfe04b1de8632627831bf3e /lib/kernel | |
parent | c9e36ab16034bb7fe71f772df6bba22070976bbf (diff) | |
download | otp-de2fb97f15ac98aa1d1c5533aacca378334f4778.tar.gz otp-de2fb97f15ac98aa1d1c5533aacca378334f4778.tar.bz2 otp-de2fb97f15ac98aa1d1c5533aacca378334f4778.zip |
Fix handling of broken symlinks in filelib
This fixes a bug introduced in f11aabdc9fec593c31e6c4f3fa25c1707e9c35df where
filelib:eval_read_file_info/2 was made to use file:read_link_info/1 to never
follow symlinks. This fixed wildcard/1 but broke every other function using
eval_read_file_info/2.
Reported-by: Louis-Philippe Gauthier
Reported-by: Danil Zagoskin
Diffstat (limited to 'lib/kernel')
-rw-r--r-- | lib/kernel/src/erl_boot_server.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/kernel/src/erl_boot_server.erl b/lib/kernel/src/erl_boot_server.erl index 9a49655a9f..ef09d86ca4 100644 --- a/lib/kernel/src/erl_boot_server.erl +++ b/lib/kernel/src/erl_boot_server.erl @@ -341,9 +341,13 @@ handle_command(S, PS, Msg) -> send_file_result(S, list_dir, Res), PS2; {read_file_info,File} -> - {Res, PS2} = erl_prim_loader:prim_read_file_info(PS, File), + {Res, PS2} = erl_prim_loader:prim_read_file_info(PS, File, true), send_file_result(S, read_file_info, Res), PS2; + {read_link_info,File} -> + {Res, PS2} = erl_prim_loader:prim_read_file_info(PS, File, false), + send_file_result(S, read_link_info, Res), + PS2; get_cwd -> {Res, PS2} = erl_prim_loader:prim_get_cwd(PS, []), send_file_result(S, get_cwd, Res), |