]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
apps: check OPENSSL_uni2utf8 return value
authorNikola Pajkovsky <nikolap@openssl.org>
Fri, 9 Jan 2026 15:30:10 +0000 (16:30 +0100)
committerNorbert Pocs <norbertp@openssl.org>
Wed, 14 Jan 2026 10:26:59 +0000 (11:26 +0100)
Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29590)

apps/pkcs12.c

index a2b436fe43678eddbbe9feac4e91aafeff90e225..4aa72866cf23a697643f4022e8b0ef5154a1aba6 100644 (file)
@@ -904,6 +904,12 @@ int pkcs12_main(int argc, char **argv)
             if (utmp == NULL)
                 goto end;
             badpass = OPENSSL_uni2utf8(utmp, utmplen);
+            if (badpass == NULL) {
+                BIO_printf(bio_err, "Verbatim password did not match, and fallback conversion to UTF-8 failed\n"
+                                    "The password entered or the input encoding may be wrong\n");
+                OPENSSL_free(utmp);
+                goto end;
+            }
             OPENSSL_free(utmp);
             if (!PKCS12_verify_mac(p12, badpass, -1)) {
                 BIO_printf(bio_err, "Mac verify error: invalid password?\n");