From 92013447051d47f41c41962263fc5004a11eaf66 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sun, 26 Dec 2010 15:26:58 +0000 Subject: [PATCH] Fix CID-5893 (resource leak): * close the dlopen()-ed image if the locale backend could not be created git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39950 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/libroot/posix/locale/LocaleBackend.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/system/libroot/posix/locale/LocaleBackend.cpp b/src/system/libroot/posix/locale/LocaleBackend.cpp index 45c14a38e5..dfd1be59e8 100644 --- a/src/system/libroot/posix/locale/LocaleBackend.cpp +++ b/src/system/libroot/posix/locale/LocaleBackend.cpp @@ -32,8 +32,10 @@ LoadBackend() typedef LocaleBackend* (*symbolType)(); symbolType createInstanceFunc = (symbolType)dlsym(imageHandle, "CreateInstance"); - if (createInstanceFunc == NULL) + if (createInstanceFunc == NULL) { + dlclose(imageHandle); return; + } gLocaleBackend = createInstanceFunc(); }