1 Commits
v2.0 ... v2.1

Author SHA1 Message Date
bc177fe5ce Fix memory leaks 2022-01-29 10:42:00 -05:00
2 changed files with 6 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
cmake_minimum_required (VERSION 3.0) cmake_minimum_required (VERSION 3.0)
cmake_policy(VERSION 3.0) cmake_policy(VERSION 3.0)
project (mazemaker VERSION 2.0) project (mazemaker VERSION 2.1)
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE) SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE) SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)

View File

@@ -44,6 +44,7 @@ int mazemaker_solve(mazegrid_t const* maze, maze_path_t* path) {
// check to see if we've reached the end // check to see if we've reached the end
if ((x == maze->width - 1) && (y == maze->height - 1)) { if ((x == maze->width - 1) && (y == maze->height - 1)) {
path_copy(&top, path); path_copy(&top, path);
mazemaker_path_free(&top);
code = 1; code = 1;
break; break;
} }
@@ -89,6 +90,9 @@ int mazemaker_solve(mazegrid_t const* maze, maze_path_t* path) {
PUSH_PQ(pq, PathPQ, newpath, dist + 1); PUSH_PQ(pq, PathPQ, newpath, dist + 1);
} }
} }
// delete old path
mazemaker_path_free(&top);
} }
// If no path is found, we will run out of new nodes to explore, the queue // If no path is found, we will run out of new nodes to explore, the queue
@@ -103,6 +107,7 @@ int mazemaker_solve(mazegrid_t const* maze, maze_path_t* path) {
} }
FOREACH_PQ_END FOREACH_PQ_END
} }
FREE_PQ(pq);
node_set_free(set); node_set_free(set);
return code; return code;
} }