aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--erts/emulator/beam/bif.c6
-rw-r--r--erts/emulator/beam/binary.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index f1fac7f8d0..457910f913 100644
--- a/erts/emulator/beam/bif.c
+++ b/erts/emulator/beam/bif.c
@@ -2886,13 +2886,13 @@ BIF_RETTYPE integer_to_list_1(BIF_ALIST_1)
BIF_RETTYPE integer_to_list_2(BIF_ALIST_2)
{
Eterm res;
- int base;
+ SWord base;
- if (is_not_integer(BIF_ARG_1) || is_not_integer(BIF_ARG_2)) {
+ if (is_not_integer(BIF_ARG_1) || is_not_small(BIF_ARG_2)) {
BIF_ERROR(BIF_P, BADARG);
}
- base = unsigned_val(BIF_ARG_2);
+ base = signed_val(BIF_ARG_2);
if (base < 2 || base > 36) {
BIF_ERROR(BIF_P, BADARG);
}
diff --git a/erts/emulator/beam/binary.c b/erts/emulator/beam/binary.c
index 5f090e89d7..a18228b84a 100644
--- a/erts/emulator/beam/binary.c
+++ b/erts/emulator/beam/binary.c
@@ -390,13 +390,13 @@ BIF_RETTYPE integer_to_binary_1(BIF_ALIST_1)
BIF_RETTYPE integer_to_binary_2(BIF_ALIST_2)
{
Eterm res;
- int base;
+ SWord base;
- if (is_not_integer(BIF_ARG_1) || is_not_integer(BIF_ARG_2)) {
+ if (is_not_integer(BIF_ARG_1) || is_not_small(BIF_ARG_2)) {
BIF_ERROR(BIF_P, BADARG);
}
- base = unsigned_val(BIF_ARG_2);
+ base = signed_val(BIF_ARG_2);
if (base < 2 || base > 36) {
BIF_ERROR(BIF_P, BADARG);
}