Code cleanup in X509v3 String Extentions
authorNikolay Morozov <nmorozoff77@yandex.ru>
Wed, 22 Apr 2020 08:45:16 +0000 (11:45 +0300)
committerDmitry Belyavskiy <beldmit@gmail.com>
Fri, 24 Apr 2020 17:05:22 +0000 (20:05 +0300)
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/11604)

crypto/x509/v3_ia5.c
crypto/x509/v3_utf8.c

index 23c24e0..dc35dd8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved.
  *
  * Licensed under the Apache License 2.0 (the "License").  You may not use
  * this file except in compliance with the License.  You can obtain a copy
@@ -29,7 +29,7 @@ char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5)
 {
     char *tmp;
 
-    if (!ia5 || !ia5->length)
+    if (ia5 == NULL || ia5->length == 0)
         return NULL;
     if ((tmp = OPENSSL_malloc(ia5->length + 1)) == NULL) {
         X509V3err(X509V3_F_I2S_ASN1_IA5STRING, ERR_R_MALLOC_FAILURE);
@@ -44,7 +44,7 @@ ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
                                    X509V3_CTX *ctx, const char *str)
 {
     ASN1_IA5STRING *ia5;
-    if (!str) {
+    if (str == NULL) {
         X509V3err(X509V3_F_S2I_ASN1_IA5STRING,
                   X509V3_R_INVALID_NULL_ARGUMENT);
         return NULL;
index df1000d..b3f87ac 100644 (file)
@@ -36,11 +36,12 @@ char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
         X509V3err(X509V3_F_I2S_ASN1_UTF8STRING, ERR_R_PASSED_NULL_PARAMETER);
         return NULL;
     }
-    if ((tmp = OPENSSL_zalloc(utf8->length + 1)) == NULL) {
+    if ((tmp = OPENSSL_malloc(utf8->length + 1)) == NULL) {
         X509V3err(X509V3_F_I2S_ASN1_UTF8STRING, ERR_R_MALLOC_FAILURE);
         return NULL;
     }
     memcpy(tmp, utf8->data, utf8->length);
+    tmp[utf8->length] = 0;
     return tmp;
 }