aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2014-07-01 00:58:26 +0200
committerSiri Hansen <[email protected]>2014-07-09 14:57:11 +0200
commitde2fb97f15ac98aa1d1c5533aacca378334f4778 (patch)
treeda2c0c88479b4bbcdbfe04b1de8632627831bf3e /lib/kernel/src
parentc9e36ab16034bb7fe71f772df6bba22070976bbf (diff)
downloadotp-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/src')
-rw-r--r--lib/kernel/src/erl_boot_server.erl6
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),