struct passwd *pw;
pw= getpwuid(geteuid());
if (pw)
- strncat(netrcbuffer, pw->pw_dir, 255);
+ home = pw->pw_dir;
#else
void *pw=NULL;
#endif
if(!home) {
return -1;
}
+ }
- if(strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC))) {
+ if(strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC))) {
+ if(NULL==pw)
free(home);
- return -1;
- }
-
- sprintf(netrcbuffer, "%s%s%s", home, DIR_CHAR, NETRC);
+ return -1;
}
+ sprintf(netrcbuffer, "%s%s%s", home, DIR_CHAR, NETRC);
+
file = fopen(netrcbuffer, "r");
if(file) {
char *tok;
fclose(file);
}
- free(home);
+ if(NULL==pw)
+ free(home);
return retcode;
}