Index: src/file.c =================================================================== --- src/file.c (revision 1253) +++ src/file.c (revision 1254) @@ -1212,6 +1212,7 @@ printf("Leaving ParseLibraryTree, found %d footprints.\n", n_footprints); #endif + free(libpaths); return n_footprints; } Index: src/libpcb_fp.c =================================================================== --- src/libpcb_fp.c (revision 1253) +++ src/libpcb_fp.c (revision 1254) @@ -328,6 +328,9 @@ break; continue; } + else + if (tags != NULL) + free(tags); } if ((S_ISDIR(buffer.st_mode)) || (WRAP_S_ISLNK(buffer.st_mode))) { Index: src/mymem.c =================================================================== --- src/mymem.c (revision 1253) +++ src/mymem.c (revision 1254) @@ -712,6 +712,7 @@ END_LOOP; free(menu->Entry); free(menu->Name); + free(menu->directory); } END_LOOP; free(lib->Menu);