Skip to content
Snippets Groups Projects
Commit d63d5a1a authored by rswindell's avatar rswindell
Browse files

Eliminate potential double-slash/backslash in filename returned from

sbbs_get_ini_fname().
parent dbc16613
No related branches found
No related tags found
No related merge requests found
...@@ -52,7 +52,8 @@ static const char* strLogMask="LogMask"; ...@@ -52,7 +52,8 @@ static const char* strLogMask="LogMask";
void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* pHostName) void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* pHostName)
{ {
char host_name[128]; char host_name[128];
char path[MAX_PATH+1];
if(pHostName==NULL) { if(pHostName==NULL) {
#if defined(_WINSOCKAPI_) #if defined(_WINSOCKAPI_)
WSADATA WSAData; WSADATA WSAData;
...@@ -64,13 +65,15 @@ void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* pHostName) ...@@ -64,13 +65,15 @@ void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* pHostName)
#endif #endif
pHostName=host_name; pHostName=host_name;
} }
sprintf(ini_file,"%s%c%s.ini",ctrl_dir,PATH_DELIM,pHostName); SAFECOPY(path,ctrl_dir);
backslash(path);
sprintf(ini_file,"%s.ini",path,pHostName);
#if defined(__unix__) && defined(PREFIX) #if defined(__unix__) && defined(PREFIX)
if(!fexistcase(ini_file)) if(!fexistcase(ini_file))
sprintf(ini_file,PREFIX"/etc/sbbs.ini"); sprintf(ini_file,PREFIX"/etc/sbbs.ini");
#endif #endif
if(!fexistcase(ini_file)) if(!fexistcase(ini_file))
sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,PATH_DELIM); sprintf(ini_file,"%ssbbs.ini",path);
} }
static void read_ini_globals(FILE* fp, global_startup_t* global) static void read_ini_globals(FILE* fp, global_startup_t* global)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment