fix tmp dir permissions crash
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2026-02-11 12:29:49 +11:00
parent 84de46a2f2
commit a04b0ede50

View File

@@ -141,7 +141,11 @@ func loadSettings() (settings SettingsStruct, err error) {
defaults["udpxy"] = "" defaults["udpxy"] = ""
defaults["version"] = System.DBVersion defaults["version"] = System.DBVersion
defaults["xteveAutoUpdate"] = true defaults["xteveAutoUpdate"] = true
defaults["temp.path"] = System.Folder.Temp var defaultTempPath = System.Folder.Temp
if len(os.Getenv("XTEVE_CONFIG")) > 0 {
defaultTempPath = System.Folder.Config + "tmp" + string(os.PathSeparator)
}
defaults["temp.path"] = defaultTempPath
// Default Werte setzen // Default Werte setzen
for key, value := range defaults { for key, value := range defaults {
@@ -209,8 +213,26 @@ func saveSettings(settings SettingsStruct) (err error) {
settings.UserAgent = defaultUserAgent settings.UserAgent = defaultUserAgent
} }
settings.TempPath = strings.TrimRight(settings.TempPath, string(os.PathSeparator)) + string(os.PathSeparator)
System.Folder.Temp = settings.TempPath + settings.UUID + string(os.PathSeparator) System.Folder.Temp = settings.TempPath + settings.UUID + string(os.PathSeparator)
err = checkFolder(System.Folder.Temp)
if err != nil {
fallbackTempPath := System.Folder.Config + "tmp" + string(os.PathSeparator)
fallbackTempFolder := fallbackTempPath + settings.UUID + string(os.PathSeparator)
fallbackErr := checkFolder(fallbackTempFolder)
if fallbackErr != nil {
return err
}
settings.TempPath = fallbackTempPath
System.Folder.Temp = fallbackTempFolder
showInfo(fmt.Sprintf("Temporary Folder:Fallback to %s", getPlatformPath(System.Folder.Temp)))
}
err = writeByteToFile(System.File.Settings, []byte(mapToJSON(settings))) err = writeByteToFile(System.File.Settings, []byte(mapToJSON(settings)))
if err != nil { if err != nil {
return return