aboutsummaryrefslogtreecommitdiff
path: root/src/processor
diff options
context:
space:
mode:
authorbenchan@chromium.org <benchan@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-03-30 21:01:09 +0000
committerbenchan@chromium.org <benchan@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-03-30 21:01:09 +0000
commit1d8752bf0f710ebad7fb23a97bf1364b680e0961 (patch)
treec2813751f3a3ccfed986addca07b0f795882253e /src/processor
parentFix one more -Wnull-conversion warning. (diff)
downloadbreakpad-1d8752bf0f710ebad7fb23a97bf1364b680e0961.tar.xz
Fix memory leak in DisassemblerX86.
A memory leak in DisassemblerX86 is detected by valgrind. This patch fixes the DisassemblerX86 destructor to properly free the |current_instr_| variable. BUG=471 TEST=Run valgrind on disassembler_x86_unittest to verify the leak is gone. Review URL: https://breakpad.appspot.com/371001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@940 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor')
-rw-r--r--src/processor/disassembler_x86.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/processor/disassembler_x86.cc b/src/processor/disassembler_x86.cc
index 7e41e4bf..45a235db 100644
--- a/src/processor/disassembler_x86.cc
+++ b/src/processor/disassembler_x86.cc
@@ -48,6 +48,9 @@ DisassemblerX86::DisassemblerX86(const u_int8_t *bytecode,
}
DisassemblerX86::~DisassemblerX86() {
+ if (instr_valid_)
+ libdis::x86_oplist_free(&current_instr_);
+
libdis::x86_cleanup();
}