]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
dsaparam.c: Check return value of PEM_write_bio_PrivateKey()
authorAnton Moryakov <ant.v.moryakov@gmail.com>
Wed, 5 Nov 2025 11:58:18 +0000 (14:58 +0300)
committerTomas Mraz <tomas@openssl.org>
Wed, 19 Nov 2025 14:55:46 +0000 (15:55 +0100)
The result of PEM_write_bio_PrivateKey was not checked, which could lead
to silent failure when writing a generated DSA private key to output.

Now verify the return value and report an error if the write fails,
matching the error handling pattern used for other write operations.

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29075)

apps/dsaparam.c

index 99fc3ee7b8046172dc581d525d1c89d21bd2d8da..6cb0007aa3c2eb7b53ed8748ad0d55c4561a3022 100644 (file)
@@ -239,6 +239,11 @@ int dsaparam_main(int argc, char **argv)
             i = i2d_PrivateKey_bio(out, pkey);
         else
             i = PEM_write_bio_PrivateKey(out, pkey, NULL, NULL, 0, NULL, NULL);
+        if (i <= 0) {
+            BIO_printf(bio_err,
+                       "Error, unable to write DSA private key\n");
+            goto end;
+        }
     }
     ret = 0;
  end: