From ebb280b7c02165cf819131cc0026d9b509560fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Thu, 17 Nov 2011 11:24:21 +0100 Subject: beam_load.c: Eliminate memory leak in code:make_stub_module/3 code:make_stub_module/3 leaked memory if given either a corrupt BEAM file, or a compressed BEAM file and an error occurred, or a binary not aligned on byte boundaries. --- erts/emulator/beam/beam_load.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'erts/emulator/beam') diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c index 4427defe0c..93eae4dee8 100644 --- a/erts/emulator/beam/beam_load.c +++ b/erts/emulator/beam/beam_load.c @@ -5993,6 +5993,10 @@ erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info) } error: + erts_free_aligned_binary_bytes(temp_alloc); + if (bin) { + driver_free_binary(bin); + } free_state(stp); BIF_ERROR(p, BADARG); } -- cgit v1.2.3