fixed memory leaks for -clar -cln -ln -lar #51
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 Description
Plugging memory leaks for Issue "Lots of memory leaks #50"
📄 Motivation and Context
Memory fixes
🧪 How Has This Been Tested?
Tested using:
valgrind --leak-check=full -v ./lst -clar
valgrind --leak-check=full -v ./lst -cln
valgrind --leak-check=full -v ./lst -lar
valgrind --leak-check=full -v ./lst -ln
📦 Types of changes
note.c:
-added "wordfree(&mainDir);" to line 394 in clearNotes()
-added "wordfree(&archiveDir);" to line 426 in clearArchiveNotes()
The above lines free the words even if there's an early return in the case of no notes
helper.c:
-added "free(--temp);" to line 86 in getCurrentNotePath()
This is necessary since "cJSON_PrintUnformatted()" returns a malloced char array
-added "closedir(directory);" on line 194 in printDirectory()
That way in the case of an early return, the directory is still freed, which didn't occur before