diff options
author | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2001-02-11 23:31:04 +0000 |
---|---|---|
committer | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2001-02-11 23:31:04 +0000 |
commit | 32a3b5dd8b7ac9fee6c3e3fad5e26666a359e4a8 (patch) | |
tree | 8eb5fc6f6c2cc2b1f415639492d4ec3119cd35c6 /passwd | |
parent | 56cfd746a84f09431c813fcc75d8b9f1a8ac1f52 (diff) | |
download | libapr-32a3b5dd8b7ac9fee6c3e3fad5e26666a359e4a8.tar.gz |
result(?) What result? Stop mauling the size_t arg and overwrite the
system buffer before returning from apr_password_get, and clean up doc.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@61218 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'passwd')
-rw-r--r-- | passwd/apr_getpass.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/passwd/apr_getpass.c b/passwd/apr_getpass.c index 6a9be850f..9e1610811 100644 --- a/passwd/apr_getpass.c +++ b/passwd/apr_getpass.c @@ -220,9 +220,10 @@ APR_DECLARE(apr_status_t) apr_password_get(const char *prompt, char *pwbuf, size pw_got = getpass(prompt); if (strlen(pw_got) > (*bufsiz - 1)) { *bufsiz = ERR_OVERFLOW; + memset(pw_got, 0, strlen(pw_got)); return APR_ENAMETOOLONG; } apr_cpystrn(pwbuf, pw_got, *bufsiz); - *bufsiz = result; + memset(pw_got, 0, strlen(pw_got)); return APR_SUCCESS; } |