From: Stefan Fritsch Date: Mon, 19 Oct 2009 21:41:31 +0000 (+0000) Subject: htpasswd: Improve out of disk space handling X-Git-Tag: 2.3.3~146 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=35d67d95ec7b3cfa176653d11c98e7ce331da31d;p=apache htpasswd: Improve out of disk space handling PR: 30877 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@826822 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 702d4a6c1b..f93bce9c24 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,8 @@ Changes with Apache 2.3.3 mod_proxy_ftp: NULL pointer dereference on error paths. [Stefan Fritsch , Joe Orton] + *) htpasswd: Improve out of disk space handling. PR 30877. [Stefan Fritsch] + *) htpasswd: Use MD5 hash by default on all platforms. [Stefan Fritsch] *) mod_sed: Reduce memory consumption when processing very long lines. diff --git a/support/htpasswd.c b/support/htpasswd.c index 8022bca2e9..82069f5cac 100644 --- a/support/htpasswd.c +++ b/support/htpasswd.c @@ -141,7 +141,15 @@ static apr_status_t seed_rand(void) static void putline(apr_file_t *f, const char *l) { - apr_file_puts(l, f); + apr_status_t rc; + rc = apr_file_puts(l, f); + if (rc != APR_SUCCESS) { + char errstr[MAX_STRING_LEN]; + apr_strerror(rc, errstr, MAX_STRING_LEN); + apr_file_printf(errfile, "Error writing temp file: %s" NL, errstr); + apr_file_close(f); + exit(ERR_FILEPERM); + } } /*