From 11222483d75c1e18fb53fe71b9a86fcfdb6d0725 Mon Sep 17 00:00:00 2001
From: "Dr. Stephen Henson" <steve@openssl.org>
Date: Thu, 18 Aug 2016 15:13:00 +0100
Subject: [PATCH] constify X509_REQ_get0_signature()

Reviewed-by: Matt Caswell <matt@openssl.org>
---
 crypto/x509/t_req.c                | 6 +++---
 crypto/x509/x509_req.c             | 4 ++--
 doc/crypto/X509_get0_signature.pod | 5 +++--
 include/openssl/x509.h             | 4 ++--
 4 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/crypto/x509/t_req.c b/crypto/x509/t_req.c
index dbe4be3db1..0fced677dd 100644
--- a/crypto/x509/t_req.c
+++ b/crypto/x509/t_req.c
@@ -174,9 +174,9 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
     }
 
     if (!(cflag & X509_FLAG_NO_SIGDUMP)) {
-        X509_ALGOR *sig_alg;
-        ASN1_BIT_STRING *sig;
-        X509_REQ_get0_signature(&sig, &sig_alg, x);
+        const X509_ALGOR *sig_alg;
+        const ASN1_BIT_STRING *sig;
+        X509_REQ_get0_signature(x, &sig, &sig_alg);
         if (!X509_signature_print(bp, sig_alg, sig))
             goto err;
     }
diff --git a/crypto/x509/x509_req.c b/crypto/x509/x509_req.c
index e7c2ae8a77..7b88dbcd21 100644
--- a/crypto/x509/x509_req.c
+++ b/crypto/x509/x509_req.c
@@ -277,8 +277,8 @@ X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req)
     return req->req_info.subject;
 }
 
-void X509_REQ_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
-                             X509_REQ *req)
+void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
+                             const X509_ALGOR **palg)
 {
     if (psig != NULL)
         *psig = req->signature;
diff --git a/doc/crypto/X509_get0_signature.pod b/doc/crypto/X509_get0_signature.pod
index 0741dfba39..61a2dda981 100644
--- a/doc/crypto/X509_get0_signature.pod
+++ b/doc/crypto/X509_get0_signature.pod
@@ -16,8 +16,9 @@ X509_CRL_get_signature_nid - signature information
  int X509_get_signature_nid(const X509 *x);
  const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x);
 
- void X509_REQ_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
-                              const X509_REQ *crl);
+ void X509_REQ_get0_signature(const X509_REQ *crl,
+                              const ASN1_BIT_STRING **psig,
+                              const X509_ALGOR **palg);
  int X509_REQ_get_signature_nid(const X509_REQ *crl);
 
  void X509_CRL_get0_signature(const X509_CRL *crl,
diff --git a/include/openssl/x509.h b/include/openssl/x509.h
index 48de4de209..78227128a2 100644
--- a/include/openssl/x509.h
+++ b/include/openssl/x509.h
@@ -647,8 +647,8 @@ long X509_REQ_get_version(const X509_REQ *req);
 int X509_REQ_set_version(X509_REQ *x, long version);
 X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req);
 int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name);
-void X509_REQ_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
-                             X509_REQ *req);
+void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
+                             const X509_ALGOR **palg);
 int X509_REQ_get_signature_nid(const X509_REQ *req);
 int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
 int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
-- 
2.25.1