Fixed memory leak

This commit is contained in:
Alex 2022-11-06 03:16:03 +02:00
parent 4e9891dba6
commit 954223cbf5
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
2 changed files with 8 additions and 4 deletions

View File

@ -204,6 +204,7 @@ namespace Driver
debug("MD5: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", debug("MD5: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15]); result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15]);
kfree(result);
#endif #endif
if (CallDriverEntryPoint(fex) != DriverCode::OK) if (CallDriverEntryPoint(fex) != DriverCode::OK)
{ {
@ -323,10 +324,11 @@ namespace Driver
memcpy(fex, (void *)DriverAddress, Size); memcpy(fex, (void *)DriverAddress, Size);
FexExtended *fexExtended = (FexExtended *)((uint64_t)fex + EXTENDED_SECTION_ADDRESS); FexExtended *fexExtended = (FexExtended *)((uint64_t)fex + EXTENDED_SECTION_ADDRESS);
#ifdef DEBUG #ifdef DEBUG
uint8_t *result = md5File((uint8_t *)fex, Size); uint8_t *result = md5File((uint8_t *)fex, Size);
debug("MD5: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", debug("MD5: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15]); result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15]);
kfree(result);
#endif #endif
if (CallDriverEntryPoint(fex) != DriverCode::OK) if (CallDriverEntryPoint(fex) != DriverCode::OK)
{ {

View File

@ -1,5 +1,6 @@
#include "dumper.hpp" #include "dumper.hpp"
#include <memory.hpp>
#include <printf.h> #include <printf.h>
#include <uart.hpp> #include <uart.hpp>
#include <lock.hpp> #include <lock.hpp>
@ -68,5 +69,6 @@ void DumpData(const char *Description, void *Address, unsigned long Length)
WriteRaw("MD5: "); WriteRaw("MD5: ");
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
WriteRaw("%02x", result[i]); WriteRaw("%02x", result[i]);
kfree(result);
WriteRaw("\n-------------------------------------------------------------------------\n"); WriteRaw("\n-------------------------------------------------------------------------\n");
} }