- res->pre_order = xmalloc(res->pre_num * sizeof(res->pre_order));
- res->post_order = xmalloc(res->pre_num * sizeof(res->post_order));
- foreach_set (res->nodes, node) {
+ assert(res->pre_num == res->post_num);
+ res->pre_order = XMALLOCN(dfs_node_t*, res->pre_num);
+ res->post_order = XMALLOCN(dfs_node_t*, res->post_num);
+ foreach_set (res->nodes, dfs_node_t, node) {
+ assert(node->pre_num < res->pre_num);
+ assert(node->post_num < res->post_num);
+