diff options
author | Darshan Sen <raisinten@gmail.com> | 2022-01-14 16:22:41 +0530 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2022-01-26 17:15:52 +0100 |
commit | 59ccb72cd5cec3b4e312853621e12a68dacdbc7e (patch) | |
tree | f4066fb24a4b966c4fe1c21ff87af794320b0e60 /crypto/ui/ui_util.c | |
parent | 814999cb44135fd197945693a7c00cf0af784206 (diff) | |
download | openssl-59ccb72cd5cec3b4e312853621e12a68dacdbc7e.tar.gz |
Fix invalid malloc failures in PEM_write_bio_PKCS8PrivateKey()
When `PEM_write_bio_PKCS8PrivateKey()` was passed an empty passphrase
string, `OPENSSL_memdup()` was incorrectly getting used for 0 bytes size
allocation, which resulted in malloc failures.
Fixes: https://github.com/openssl/openssl/issues/17506
Signed-off-by: Darshan Sen <raisinten@gmail.com>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17507)
Diffstat (limited to 'crypto/ui/ui_util.c')
-rw-r--r-- | crypto/ui/ui_util.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/ui/ui_util.c b/crypto/ui/ui_util.c index 58769d68a3..871472cd32 100644 --- a/crypto/ui/ui_util.c +++ b/crypto/ui/ui_util.c @@ -114,7 +114,7 @@ static int ui_read(UI *ui, UI_STRING *uis) if (len >= 0) result[len] = '\0'; - if (len <= 0) + if (len < 0) return len; if (UI_set_result_ex(ui, uis, result, len) >= 0) return 1; |