1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Content store: Fix storage leak by storing screenshots in cache (#8137)

This commit is contained in:
rubenwardy 2019-01-31 16:35:55 +00:00 committed by Paramat
parent 944e9f5acb
commit 572ba83b30
4 changed files with 15 additions and 1 deletions

View file

@ -683,6 +683,12 @@ int ModApiMainMenu::l_get_texturepath_share(lua_State *L)
return 1;
}
int ModApiMainMenu::l_get_cache_path(lua_State *L)
{
lua_pushstring(L, fs::RemoveRelativePathComponents(porting::path_cache).c_str());
return 1;
}
/******************************************************************************/
int ModApiMainMenu::l_create_dir(lua_State *L) {
const char *path = luaL_checkstring(L, 1);
@ -855,6 +861,9 @@ bool ModApiMainMenu::mayModifyPath(const std::string &path)
if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM "worlds")))
return true;
if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_cache)))
return true;
return false;
}
@ -1043,6 +1052,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
API_FCT(get_gamepath);
API_FCT(get_texturepath);
API_FCT(get_texturepath_share);
API_FCT(get_cache_path);
API_FCT(create_dir);
API_FCT(delete_dir);
API_FCT(copy_dir);
@ -1071,6 +1081,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top)
API_FCT(get_gamepath);
API_FCT(get_texturepath);
API_FCT(get_texturepath_share);
API_FCT(get_cache_path);
API_FCT(create_dir);
API_FCT(delete_dir);
API_FCT(copy_dir);

View file

@ -120,6 +120,8 @@ private:
static int l_get_texturepath_share(lua_State *L);
static int l_get_cache_path(lua_State *L);
static int l_create_dir(lua_State *L);
static int l_delete_dir(lua_State *L);