diff options
Diffstat (limited to 'lib/netrc.c')
-rw-r--r-- | lib/netrc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/netrc.c b/lib/netrc.c index 73d94ab77..bc1cc3b31 100644 --- a/lib/netrc.c +++ b/lib/netrc.c @@ -95,9 +95,14 @@ int ParseNetrc(char *host, #define NETRC DOT_CHAR "netrc" - if(!home || (strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC)))) + if(!home) return -1; + if(strlen(home)>(sizeof(netrcbuffer)-strlen(NETRC))) { + free(home); + return -1; + } + sprintf(netrcbuffer, "%s%s%s", home, DIR_CHAR, NETRC); file = fopen(netrcbuffer, "r"); @@ -162,6 +167,8 @@ int ParseNetrc(char *host, fclose(file); } + free(home); + return retcode; } |