Removed dangerous checking of enviroment variable for user's home path.

This commit is contained in:
n-a-c-h
2005-10-07 04:02:06 +00:00
parent efd665216d
commit 34e23a4ba5

View File

@@ -36,6 +36,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <unistd.h> #include <unistd.h>
#include <time.h> #include <time.h>
#include <glob.h> #include <glob.h>
#include <pwd.h>
#else #else
#include <time.h> #include <time.h>
#include <io.h> #include <io.h>
@@ -466,16 +467,16 @@ char zcfgdir[1024];
void obtaindir() void obtaindir()
{ {
char *homedir = 0; struct passwd *userinfo;
DIR *tmp; DIR *tmp;
if ((homedir = (char *)getenv("HOME")) == 0) if ((userinfo = getpwuid(getuid())))
{ {
getcwd(zcfgdir, ZCFG_DIR_LEN); strcpy(zcfgdir, userinfo->pw_dir);
} }
else else
{ {
strcpy(zcfgdir, homedir); getcwd(zcfgdir, ZCFG_DIR_LEN);
} }
strcat(zcfgdir, ZCFG_DIR); strcat(zcfgdir, ZCFG_DIR);
tmp = opendir(zcfgdir); tmp = opendir(zcfgdir);