Loading lib/netrc.c +33 −9 Original line number Diff line number Diff line Loading @@ -27,6 +27,17 @@ #include <stdlib.h> #include <string.h> #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifdef HAVE_PWD_H #include <pwd.h> #endif #include <curl/curl.h> #include "strequal.h" Loading Loading @@ -60,7 +71,7 @@ int Curl_parsenetrc(char *host, char netrcbuffer[256]; int retcode=1; char *home = curl_getenv("HOME"); /* portable environment reader */ char *home = NULL; int state=NOTHING; char state_login=0; Loading @@ -68,8 +79,20 @@ int Curl_parsenetrc(char *host, #define NETRC DOT_CHAR "netrc" if(!home) #if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) struct passwd *pw; pw= getpwuid(geteuid()); if (pw) strncat(netrcbuffer, pw->pw_dir, 255); #else void *pw=NULL; #endif if(NULL == pw) { home = curl_getenv("HOME"); /* portable environment reader */ if(!home) { return -1; } if(strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC))) { free(home); Loading @@ -77,6 +100,7 @@ int Curl_parsenetrc(char *host, } sprintf(netrcbuffer, "%s%s%s", home, DIR_CHAR, NETRC); } file = fopen(netrcbuffer, "r"); if(file) { Loading Loading
lib/netrc.c +33 −9 Original line number Diff line number Diff line Loading @@ -27,6 +27,17 @@ #include <stdlib.h> #include <string.h> #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifdef HAVE_PWD_H #include <pwd.h> #endif #include <curl/curl.h> #include "strequal.h" Loading Loading @@ -60,7 +71,7 @@ int Curl_parsenetrc(char *host, char netrcbuffer[256]; int retcode=1; char *home = curl_getenv("HOME"); /* portable environment reader */ char *home = NULL; int state=NOTHING; char state_login=0; Loading @@ -68,8 +79,20 @@ int Curl_parsenetrc(char *host, #define NETRC DOT_CHAR "netrc" if(!home) #if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) struct passwd *pw; pw= getpwuid(geteuid()); if (pw) strncat(netrcbuffer, pw->pw_dir, 255); #else void *pw=NULL; #endif if(NULL == pw) { home = curl_getenv("HOME"); /* portable environment reader */ if(!home) { return -1; } if(strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC))) { free(home); Loading @@ -77,6 +100,7 @@ int Curl_parsenetrc(char *host, } sprintf(netrcbuffer, "%s%s%s", home, DIR_CHAR, NETRC); } file = fopen(netrcbuffer, "r"); if(file) { Loading