summaryrefslogtreecommitdiff
path: root/src/analysis/disass/instructions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/instructions.c')
-rw-r--r--src/analysis/disass/instructions.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/analysis/disass/instructions.c b/src/analysis/disass/instructions.c
index 78b20d4..2dd39c5 100644
--- a/src/analysis/disass/instructions.c
+++ b/src/analysis/disass/instructions.c
@@ -139,6 +139,10 @@ static void g_instructions_study_init(GInstructionsStudy *study)
static void g_instructions_study_dispose(GInstructionsStudy *study)
{
+ g_clear_object(&study->proc);
+ g_clear_object(&study->ctx);
+ g_clear_object(&study->format);
+
G_OBJECT_CLASS(g_instructions_study_parent_class)->dispose(G_OBJECT(study));
}
@@ -188,8 +192,13 @@ GInstructionsStudy *g_instructions_study_new(GArchProcessor *proc, GProcContext
result = g_object_new(G_TYPE_INSTRUCTIONS_STUDY, NULL);
result->proc = proc;
+ g_object_ref(G_OBJECT(proc));
+
result->ctx = ctx;
+ g_object_ref(G_OBJECT(ctx));
+
result->format = format;
+ g_object_ref(G_OBJECT(format));
result->fallback = fallback;
result->begin = begin;