From: Brian Demsky Date: Wed, 19 Sep 2012 08:19:39 +0000 (-0700) Subject: more bugs X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=commitdiff_plain;h=18813c330489a982af8d745450895b0bb4479504 more bugs --- diff --git a/nodestack.cc b/nodestack.cc index 2e170b9f..b79863e2 100644 --- a/nodestack.cc +++ b/nodestack.cc @@ -32,11 +32,12 @@ Node::Node(ModelAction *act, Node *par, int nthreads, bool *enabled) if (act) act->set_node(this); enabled_array=(bool *)MYMALLOC(sizeof(bool)*num_threads); - if (enabled) + if (enabled != NULL) memcpy(enabled_array, enabled, sizeof(bool)*num_threads); - else + else { for(int i=0;iexplore_child(act); - node_list.push_back(new Node(act, get_head(), model->get_num_threads())); + node_list.push_back(new Node(act, get_head(), model->get_num_threads(), is_enabled)); total_nodes++; iter++; return NULL; diff --git a/schedule.cc b/schedule.cc index c30b0f38..8883d2a9 100644 --- a/schedule.cc +++ b/schedule.cc @@ -16,9 +16,11 @@ void Scheduler::set_enabled(Thread *t, bool enabled_status) { int threadid=id_to_int(t->get_id()); if (threadid>=enabled_len) { bool * new_enabled=(bool *)malloc(sizeof(bool)*(threadid+1)); - memcpy(new_enabled, is_enabled, enabled_len*sizeof(bool)); memset(&new_enabled[enabled_len], 0, (threadid+1-enabled_len)*sizeof(bool)); - free(is_enabled); + if (is_enabled != NULL) { + memcpy(new_enabled, is_enabled, enabled_len*sizeof(bool)); + free(is_enabled); + } is_enabled=new_enabled; enabled_len=threadid+1; }