From edbe0d166cfdd30e1e15df08f1acbb26a3be1d3c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 5 Apr 2002 15:04:04 +0000 Subject: if HOME isn't set or too long, we attempt to lost the curlrc file from current directory instead! --- src/main.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main.c b/src/main.c index 2c205ffdd..338d52b7d 100644 --- a/src/main.c +++ b/src/main.c @@ -1604,26 +1604,27 @@ static int parseconfig(char *filename, { int res; FILE *file; - char filebuffer[256]; + char filebuffer[512]; bool usedarg; - char *home=NULL; + char *home; if(!filename || !*filename) { /* NULL or no file name attempts to load .curlrc from the homedir! */ #define CURLRC DOT_CHAR "curlrc" + filename = CURLRC; /* sensible default */ home = curl_getenv("HOME"); /* portable environment reader */ - if(!home) - return 0; - if(strlen(home)>(sizeof(filebuffer)-strlen(CURLRC))) { - free(home); - return 0; - } + if(home) { + if(strlen(home)<(sizeof(filebuffer)-strlen(CURLRC))) { - sprintf(filebuffer, "%s%s%s", home, DIR_CHAR, CURLRC); + snprintf(filebuffer, sizeof(filebuffer), + "%s%s%s", home, DIR_CHAR, CURLRC); - filename = filebuffer; + filename = filebuffer; + } + free(home); /* we've used it, now free it */ + } } if(strcmp(filename,"-")) @@ -1770,8 +1771,6 @@ static int parseconfig(char *filename, if(file != stdin) fclose(file); } - if(home) - free(home); return 0; } -- cgit v1.2.3