diff --git a/target-sh4/op_helper.c b/target-sh4/op_helper.c index 0204b0338f..684d3f3758 100644 --- a/target-sh4/op_helper.c +++ b/target-sh4/op_helper.c @@ -109,7 +109,8 @@ void helper_movcal(CPUSH4State *env, uint32_t address, uint32_t value) { if (cpu_sh4_is_cached (env, address)) { - memory_content *r = malloc (sizeof(memory_content)); + memory_content *r = g_new(memory_content, 1); + r->address = address; r->value = value; r->next = NULL; @@ -126,7 +127,7 @@ void helper_discard_movcal_backup(CPUSH4State *env) while(current) { memory_content *next = current->next; - free (current); + g_free(current); env->movcal_backup = current = next; if (current == NULL) env->movcal_backup_tail = &(env->movcal_backup); @@ -149,7 +150,7 @@ void helper_ocbi(CPUSH4State *env, uint32_t address) env->movcal_backup_tail = current; } - free (*current); + g_free(*current); *current = next; break; }