[openssl] master update

Richard Levitte levitte at openssl.org
Wed Aug 21 09:39:28 UTC 2019


The branch master has been updated
       via  d32d304836caaca475c21a82b94e494898cb60c5 (commit)
      from  5fa7789f1b46c6851df4cf8dde403b7f08bf93ea (commit)


- Log -----------------------------------------------------------------
commit d32d304836caaca475c21a82b94e494898cb60c5
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed Aug 21 11:08:20 2019 +0200

    Fix ossl_param_bld_push_{utf8,octet}_string() / param_bld_convert()
    
    ossl_param_bld_push_{utf8,octet}_string() saved the constant string
    pointer to a non-constant structure field, so we change that field to
    a pointer to a constant.  We also modify param_bld_convert() to
    pretend the resulting pointer for PTR types points to a constant as
    well.
    
    Completes #9649
    
    Reviewed-by: Paul Dale <paul.dale at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/9651)

-----------------------------------------------------------------------

Summary of changes:
 crypto/param_build.c           | 2 +-
 include/internal/param_build.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/crypto/param_build.c b/crypto/param_build.c
index db2182196c..01866b01d9 100644
--- a/crypto/param_build.c
+++ b/crypto/param_build.c
@@ -260,7 +260,7 @@ static OSSL_PARAM *param_bld_convert(OSSL_PARAM_BLD *bld, OSSL_PARAM *param,
         } else if (pd->type == OSSL_PARAM_OCTET_PTR
                    || pd->type == OSSL_PARAM_UTF8_PTR) {
             /* PTR */
-            *(void **)p = pd->string;
+            *(const void **)p = pd->string;
         } else if (pd->type == OSSL_PARAM_OCTET_STRING
                    || pd->type == OSSL_PARAM_UTF8_STRING) {
             if (pd->string != NULL)
diff --git a/include/internal/param_build.h b/include/internal/param_build.h
index 83f8087020..bb96ba98e0 100644
--- a/include/internal/param_build.h
+++ b/include/internal/param_build.h
@@ -20,7 +20,7 @@ typedef struct {
     size_t size;
     size_t alloc_blocks;
     const BIGNUM *bn;
-    void *string;
+    const void *string;
     union {
         /*
          * These fields are never directly addressed, but their sizes are


More information about the openssl-commits mailing list