From 682158e6b0dbadcbcf2265e155eca4bff47f9b2c Mon Sep 17 00:00:00 2001 From: Jayvan Date: Fri, 23 Oct 2015 23:25:07 +0100 Subject: [PATCH] fix RMFS bug --- src/mutators/memory_c/RMFS/remove_free_statement.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/mutators/memory_c/RMFS/remove_free_statement.c b/src/mutators/memory_c/RMFS/remove_free_statement.c index b1aa34d..e23ca3e 100644 --- a/src/mutators/memory_c/RMFS/remove_free_statement.c +++ b/src/mutators/memory_c/RMFS/remove_free_statement.c @@ -54,15 +54,14 @@ static gboolean mutator_milu_remove_free_statement_node_checking(ASTNode * node) static gboolean mutator_milu_remove_free_statement_mutate(ASTNode * node, gint type) { - ASTNode * child; + ASTNode * child, *replace; switch(type) { case 1: - child=node->children; - child->parent=NULL; - child->next_sibling->parent=NULL; + child=node->children->next_sibling; + replace=ASTNode_new_integer_literal_node("0"); tmpNode=child; - ASTNode_set_null_statement(node); + replace_subtree_with(child, replace); return TRUE; default: @@ -74,6 +73,6 @@ static gboolean mutator_milu_remove_free_statement_mutate(ASTNode * node, gint t static gboolean mutator_milu_remove_free_statement_clean(ASTNode * node, gint type) { - ASTNode_restore_free_statement(node, tmpNode); + replace_subtree_with(node->children->next_sibling, tmpNode); return TRUE; }