Skip to content

Commit

Permalink
fix: remove memory leak in sublist_search.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
vil02 committed Sep 25, 2023
1 parent 23b133a commit 02f0feb
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions search/sublist_search.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,20 @@ Node *makeLinkedList(const std::vector<uint64_t> &data) {
return head;
}

/*
* @brief This function dealocates memory related to the given list
* It recursively deletes all of the nodes of the input list.
* @param room the root/head of the input list
* @warning Plese note that the memory for each node has to be alocated using
* new.
*/
void deleteList(Node *const root) {
if (root != NULL) {
deleteList(root->next);
delete root;
}
}

/**
* @brief Main searching function
* @param sublist A linked list which is supposed to be searched in mainList.
Expand Down Expand Up @@ -217,8 +231,8 @@ class TestCases {
log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
"~");

delete (sublistLL);
delete (mainlistLL);
deleteList(mainlistLL);
deleteList(sublistLL);
}

/**
Expand Down Expand Up @@ -270,6 +284,9 @@ class TestCases {
log("[PASS] : TEST CASE 2 PASS!");
log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
"~");

deleteList(mainlistLL);
deleteList(sublistLL);
}

/**
Expand Down Expand Up @@ -318,6 +335,9 @@ class TestCases {
log("[PASS] : TEST CASE 3 PASS!");
log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
"~");

deleteList(mainlistLL);
deleteList(sublistLL);
}
};

Expand Down Expand Up @@ -366,5 +386,8 @@ int main(int argc, char *argv[]) {
} else {
std::cout << "[FALSE] - sublist NOT found in main list\n";
}

deleteList(mainlistLL);
deleteList(sublistLL);
return 0;
}

0 comments on commit 02f0feb

Please sign in to comment.