diff options
author | Michael Santos <[email protected]> | 2011-04-06 15:03:15 -0400 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2011-04-07 11:16:04 +0200 |
commit | a8bacf37001f4f73f51b92c1738283b7dbb3bb4f (patch) | |
tree | 6156d5cd2a2346379509673c3728f4594e358d53 /erts/emulator/beam | |
parent | d8dcd70f386de09109ca1f6f817a381cd1387769 (diff) | |
download | otp-a8bacf37001f4f73f51b92c1738283b7dbb3bb4f.tar.gz otp-a8bacf37001f4f73f51b92c1738283b7dbb3bb4f.tar.bz2 otp-a8bacf37001f4f73f51b92c1738283b7dbb3bb4f.zip |
Fix format specifiers in erl_exit messages
Fix an error message by using an unsigned integer specifier as seen in
a tweet by @metabrew:
#erlang VM crashed with "no next heap size found: -2090496108,
offset 0", suddenly allocated all available RAM
Also correct mis-typed string formats in bif.c.
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r-- | erts/emulator/beam/bif.c | 4 | ||||
-rw-r--r-- | erts/emulator/beam/erl_gc.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c index f01580eb2b..19ef356041 100644 --- a/erts/emulator/beam/bif.c +++ b/erts/emulator/beam/bif.c @@ -3362,7 +3362,7 @@ BIF_RETTYPE erts_debug_display_1(BIF_ALIST_1) erts_dsprintf_buf_t *dsbufp = erts_create_tmp_dsbuf(64); pres = erts_dsprintf(dsbufp, "%.*T\n", INT_MAX, BIF_ARG_1); if (pres < 0) - erl_exit(1, "Failed to convert term to string: %d (s)\n", + erl_exit(1, "Failed to convert term to string: %d (%s)\n", -pres, erl_errno_id(-pres)); hp = HAlloc(BIF_P, 2*dsbufp->str_len); /* we need length * 2 heap words */ res = buf_to_intlist(&hp, dsbufp->str, dsbufp->str_len, NIL); @@ -3480,7 +3480,7 @@ term2list_dsprintf(Process *p, Eterm term) erts_dsprintf_buf_t *dsbufp = erts_create_tmp_dsbuf(64); pres = erts_dsprintf(dsbufp, "%T", term); if (pres < 0) - erl_exit(1, "Failed to convert term to list: %d (s)\n", + erl_exit(1, "Failed to convert term to list: %d (%s)\n", -pres, erl_errno_id(-pres)); hp = HAlloc(p, 2*dsbufp->str_len); /* we need length * 2 heap words */ res = buf_to_intlist(&hp, dsbufp->str, dsbufp->str_len, NIL); diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index d9150d86fe..735986ba54 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -215,7 +215,7 @@ erts_next_heap_size(Uint size, Uint offset) low = mid + 1; } } - erl_exit(1, "no next heap size found: %d, offset %d\n", size, offset); + erl_exit(1, "no next heap size found: %lu, offset %lu\n", (unsigned long)size, (unsigned long)offset); } return 0; } |