From e5b65e4e037c3839487cab56dd4b176e5e358887 Mon Sep 17 00:00:00 2001 From: Edward Rudd Date: Sat, 24 Aug 2013 09:05:18 -0400 Subject: [PATCH] Fix #2062 Be more diligent about validating trailing "/" existence in HOME and XDG_DATA_HOME env vars --- src/filesystem/unix/SDL_sysfilesystem.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/filesystem/unix/SDL_sysfilesystem.c b/src/filesystem/unix/SDL_sysfilesystem.c index d8eb6e598..d3a3a0676 100644 --- a/src/filesystem/unix/SDL_sysfilesystem.c +++ b/src/filesystem/unix/SDL_sysfilesystem.c @@ -173,7 +173,15 @@ SDL_GetPrefPath(const char *org, const char *app) SDL_SetError("neither XDG_DATA_HOME nor HOME environment is set"); return NULL; } - append = ".local/share/"; + if (envr[SDL_strlen(envr) - 1] == '/') { + append = ".local/share/"; + } else { + append = "/.local/share/"; + } + } else { + if (envr[SDL_strlen(envr) - 1] == '/') { + append = ""; + } } /* if */ len = SDL_strlen(envr) + SDL_strlen(append) + SDL_strlen(app) + 2;