diff options
author | Steve Holme <steve_holme@hotmail.com> | 2014-01-19 16:14:09 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2014-01-19 16:26:19 +0000 |
commit | 33b8960dc88d8d0a5bfef92f891515b9a3b9727d (patch) | |
tree | d50913a1b3e78817b9e8bab8ebe8c6f3177a3449 /src/tool_paramhlp.c | |
parent | de966b403a181e8a42cdef69e6b5cb52fa8f8ccf (diff) | |
download | curl-33b8960dc88d8d0a5bfef92f891515b9a3b9727d.tar.gz |
tool: Fixed incorrect return code if password prompting runs out of memory
Due to the changes in commit 3c929ff9f6ea and lack of subsequent
updates, curl could return a CURLE_FTP_ACCEPT_FAILED error if
checkpasswd() ran out of memory in versions 7.33.0 and 7.34.0.
Updated the function declaration and return code to return
CURLE_OUT_OF_MEMORY and CURLE_OK where appropriate.
Diffstat (limited to 'src/tool_paramhlp.c')
-rw-r--r-- | src/tool_paramhlp.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c index 86b8a1df5..46e926952 100644 --- a/src/tool_paramhlp.c +++ b/src/tool_paramhlp.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -365,14 +365,14 @@ ParameterError str2offset(curl_off_t *val, const char *str) return PARAM_BAD_NUMERIC; } -ParameterError checkpasswd(const char *kind, /* for what purpose */ - char **userpwd) /* pointer to allocated string */ +CURLcode checkpasswd(const char *kind, /* for what purpose */ + char **userpwd) /* pointer to allocated string */ { char *psep; char *osep; if(!*userpwd) - return PARAM_OK; + return CURLE_OK; /* Attempt to find the password separator */ psep = strchr(*userpwd, ':'); @@ -408,14 +408,15 @@ ParameterError checkpasswd(const char *kind, /* for what purpose */ passwdlen + 1 + /* an extra for the colon */ userlen + 1); /* an extra for the zero */ if(!passptr) - return PARAM_NO_MEM; + return CURLE_OUT_OF_MEMORY; /* append the password separated with a colon */ passptr[userlen] = ':'; memcpy(&passptr[userlen+1], passwd, passwdlen+1); *userpwd = passptr; } - return PARAM_OK; + + return CURLE_OK; } ParameterError add2list(struct curl_slist **list, const char *ptr) |