summaryrefslogtreecommitdiff
path: root/libretro.c
diff options
context:
space:
mode:
authoraliaspider2015-09-27 14:47:06 +0100
committeraliaspider2015-09-27 14:47:06 +0100
commita93bb43bc84cbc8e81c13cf3428d9f2a501c0c8e (patch)
tree1ee10733133210219b278447fac70f4d7ab833ce /libretro.c
parentcfc1a3391d765acfcc22324b77fe77d5d85a84c4 (diff)
downloadpicogpsp-a93bb43bc84cbc8e81c13cf3428d9f2a501c0c8e.tar.gz
picogpsp-a93bb43bc84cbc8e81c13cf3428d9f2a501c0c8e.tar.bz2
picogpsp-a93bb43bc84cbc8e81c13cf3428d9f2a501c0c8e.zip
(ctr/3ds) fix handle leak.
Diffstat (limited to 'libretro.c')
-rw-r--r--libretro.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libretro.c b/libretro.c
index 6faae5f..6a16524 100644
--- a/libretro.c
+++ b/libretro.c
@@ -15,6 +15,7 @@ void linearFree(void* mem);
#include "3ds/3ds_utils.h"
#define MEMOP_PROT 6
int32_t svcDuplicateHandle(uint32_t* out, uint32_t original);
+int32_t svcCloseHandle(uint32_t handle);
int32_t svcControlProcessMemory(uint32_t process, void* addr0, void* addr1, uint32_t size, uint32_t type, uint32_t perm);
int ctr_has_full_svc_access;
#endif
@@ -128,6 +129,7 @@ void retro_init(void)
RAM_TRANSLATION_CACHE_SIZE, MEMOP_PROT, 0b111);
svcControlProcessMemory(currentHandle, bios_translation_cache, 0x0,
BIOS_TRANSLATION_CACHE_SIZE, MEMOP_PROT, 0b111);
+ svcCloseHandle(currentHandle);
ctr_flush_invalidate_cache();
}