diff --git a/nx/source/kernel/tmem.c b/nx/source/kernel/tmem.c index ea86db78..d9db1f44 100644 --- a/nx/source/kernel/tmem.c +++ b/nx/source/kernel/tmem.c @@ -77,10 +77,6 @@ Result tmemClose(TransferMemory* t) { Result rc = 0; - if (t->src_addr != NULL) { - free(t->src_addr); - } - if (t->map_addr != NULL) { rc = tmemUnmap(t); } @@ -90,6 +86,10 @@ Result tmemClose(TransferMemory* t) rc = svcCloseHandle(t->handle); } + if (t->src_addr != NULL) { + free(t->src_addr); + } + t->src_addr = NULL; t->handle = INVALID_HANDLE; }