From 94eda4f777d79b159f0b6fd5ff5519649aa5affb Mon Sep 17 00:00:00 2001 From: Patrik Nyblom Date: Fri, 26 Nov 2010 14:14:22 +0100 Subject: Teach prim_file not to accept atoms and not to throw exceptions --- erts/emulator/beam/erl_unicode.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'erts/emulator/beam/erl_unicode.c') diff --git a/erts/emulator/beam/erl_unicode.c b/erts/emulator/beam/erl_unicode.c index 3434ce3979..72207df621 100644 --- a/erts/emulator/beam/erl_unicode.c +++ b/erts/emulator/beam/erl_unicode.c @@ -2429,6 +2429,13 @@ BIF_RETTYPE prim_file_internal_name2native_1(BIF_ALIST_1) Sint need; Eterm bin_term; byte* bin_p; + /* Prim file explicitly does not allow atoms, although we could + very well cope with it. Instead of letting 'file' handle them, + it would probably be more efficient to handle them here. Subject to + change in R15. */ + if (is_atom(BIF_ARG_1)) { + BIF_ERROR(BIF_P,BADARG); + } if (is_binary(BIF_ARG_1)) { byte *temp_alloc = NULL; byte *bytes; -- cgit v1.2.3