8c653cd038
Resolves: rhbz#819650
39 lines
1.2 KiB
Diff
39 lines
1.2 KiB
Diff
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=819650
|
|
|
|
http://svn.apache.org/viewvc?view=revision&revision=1346875
|
|
|
|
--- apr-util-1.4.1/crypto/apr_md5.c.r1346875
|
|
+++ apr-util-1.4.1/crypto/apr_md5.c
|
|
@@ -721,6 +721,9 @@ APU_DECLARE(apr_status_t) apr_password_v
|
|
CRYPTD buffer;
|
|
|
|
crypt_pw = crypt_r(passwd, hash, &buffer);
|
|
+ if (!crypt_pw) {
|
|
+ return APR_EMISMATCH;
|
|
+ }
|
|
apr_cpystrn(sample, crypt_pw, sizeof(sample) - 1);
|
|
#elif defined(CRYPT_R_STRUCT_CRYPT_DATA)
|
|
struct crypt_data buffer;
|
|
@@ -732,6 +735,9 @@ APU_DECLARE(apr_status_t) apr_password_v
|
|
*/
|
|
memset(&buffer, 0, sizeof(buffer));
|
|
crypt_pw = crypt_r(passwd, hash, &buffer);
|
|
+ if (!crypt_pw) {
|
|
+ return APR_EMISMATCH;
|
|
+ }
|
|
apr_cpystrn(sample, crypt_pw, sizeof(sample) - 1);
|
|
#else
|
|
/* Do a bit of sanity checking since we know that crypt_r()
|
|
@@ -748,6 +754,10 @@ APU_DECLARE(apr_status_t) apr_password_v
|
|
*/
|
|
crypt_mutex_lock();
|
|
crypt_pw = crypt(passwd, hash);
|
|
+ if (!crypt_pw) {
|
|
+ crypt_mutex_unlock();
|
|
+ return APR_EMISMATCH;
|
|
+ }
|
|
apr_cpystrn(sample, crypt_pw, sizeof(sample) - 1);
|
|
crypt_mutex_unlock();
|
|
#endif
|