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(); }