diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2020-05-28 22:31:42 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2020-05-28 22:31:42 (GMT) |
commit | ce174b991223c85afba55a24e7adc9c8156f7d48 (patch) | |
tree | 90f3d3cdb4b83865cfaeaa6674165b3c22df7ef0 /plugins/pychrysalide/arch | |
parent | 2700e6892a0c0d78baf7228040aa07a1e21c6f53 (diff) |
Fixed several memory leaks.
Diffstat (limited to 'plugins/pychrysalide/arch')
-rw-r--r-- | plugins/pychrysalide/arch/operand.c | 6 | ||||
-rw-r--r-- | plugins/pychrysalide/arch/processor.c | 14 | ||||
-rw-r--r-- | plugins/pychrysalide/arch/register.c | 10 |
3 files changed, 30 insertions, 0 deletions
diff --git a/plugins/pychrysalide/arch/operand.c b/plugins/pychrysalide/arch/operand.c index f14a6cc..019e4a2 100644 --- a/plugins/pychrysalide/arch/operand.c +++ b/plugins/pychrysalide/arch/operand.c @@ -230,6 +230,8 @@ static int py_arch_operand___cmp___wrapper(const GArchOperand *a, const GArchOpe } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -282,6 +284,8 @@ static void py_arch_operand_print_wrapper(const GArchOperand *operand, GBufferLi } + Py_DECREF(pyobj); + PyGILState_Release(gstate); } @@ -348,6 +352,8 @@ static char *py_arch_operand_build_tooltip_wrapper(const GArchOperand *operand, } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; diff --git a/plugins/pychrysalide/arch/processor.c b/plugins/pychrysalide/arch/processor.c index bd1b521..10fcf03 100644 --- a/plugins/pychrysalide/arch/processor.c +++ b/plugins/pychrysalide/arch/processor.c @@ -369,6 +369,8 @@ static char *py_arch_processor_get_key_wrapper(const GArchProcessor *proc) } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -419,6 +421,8 @@ static char *py_arch_processor_get_desc_wrapper(const GArchProcessor *proc) } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -469,6 +473,8 @@ static MemoryDataSize py_arch_processor_get_memory_size_wrapper(const GArchProce } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -519,6 +525,8 @@ static MemoryDataSize py_arch_processor_get_instruction_min_size_wrapper(const G } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -569,6 +577,8 @@ static bool py_arch_processor_has_virtual_space_wrapper(const GArchProcessor *pr } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -636,6 +646,8 @@ static GProcContext *py_arch_processor_get_context_wrapper(const GArchProcessor } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -712,6 +724,8 @@ static GArchInstruction *py_arch_processor_disassemble_wrapper(const GArchProces } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; diff --git a/plugins/pychrysalide/arch/register.c b/plugins/pychrysalide/arch/register.c index 2a407b5..61da77f 100644 --- a/plugins/pychrysalide/arch/register.c +++ b/plugins/pychrysalide/arch/register.c @@ -236,6 +236,8 @@ static guint py_arch_register___hash___wrapper(const GArchRegister *reg) } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -302,6 +304,8 @@ static int py_arch_register___cmp___wrapper(const GArchRegister *a, const GArchR } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -354,6 +358,8 @@ static void py_arch_register_print_wrapper(const GArchRegister *reg, GBufferLine } + Py_DECREF(pyobj); + PyGILState_Release(gstate); } @@ -406,6 +412,8 @@ static bool py_arch_register_is_base_pointer_wrapper(const GArchRegister *reg) } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; @@ -460,6 +468,8 @@ static bool py_arch_register_is_stack_pointer_wrapper(const GArchRegister *reg) } + Py_DECREF(pyobj); + PyGILState_Release(gstate); return result; |