by our tests, and must be calledbeforeany memory is dynamically allocated; it will set up things to havethe consistency and correctness of the heap checked. If it is initially called, and your code has any subsequentmemory errors (such as overwriting beyond the end of an allocated memory region in the heap) the programwill crash, consequently failing the test. Ifcheck_memory_leak()is called at any point it will print a messageindicating whether there is any memory in use in the heap at all.Some of our tests will initially callsetup_memory_checking(), and callcheck_memory_leak()afterrmfs()is called on allFilesystemvariables in use.If yourrmfs()function (or any other function) is not freeingmemory properly your program will report that there is some allocated memory in the heap, meaning a memoryleak occurred, causing such tests to fail.If a user of your functions callsmkfs()on aFilesystemvariable that currently contains some files ordirectories (meaning that it is using some dynamically-allocated memory)beforermfs()is called on it (inother words, callingmkfs()twice without an interveningrmfs()), the effect will be that a memory leak occurs.There is nothing that your functions can do to detect or prevent this. As above, it is the responsibility of theuser of your functions, if they want to avoid memory leaks, to callrmfs()on anyFilesystemvariables thathave any contents, before callingmkfs()on them. This does not apply to the initial call tomkfs(), since aFilesystemhas no contents beforemkfs()is first called on it.