]> granicus.if.org Git - openssl/commitdiff
Fix Coverity issues
authorShane Lontis <shane.lontis@oracle.com>
Wed, 2 Oct 2019 23:29:51 +0000 (09:29 +1000)
committerShane Lontis <shane.lontis@oracle.com>
Wed, 2 Oct 2019 23:29:51 +0000 (09:29 +1000)
CID 1453954 & 1453955

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9977)

providers/default/ciphers/cipher_aes_ocb.c
providers/fips/selftest.c

index 8875d79a87baf14159c94776ed16e03a69351b58..93df4a5dbc75542b9b5d5df47316a07e476c4e76 100644 (file)
@@ -285,9 +285,11 @@ static void aes_ocb_freectx(void *vctx)
 {
     PROV_AES_OCB_CTX *ctx = (PROV_AES_OCB_CTX *)vctx;
 
-    aes_generic_ocb_cleanup(ctx);
-    OPENSSL_cleanse(ctx->base.iv, sizeof(ctx->base.iv));
-    OPENSSL_clear_free(ctx,  sizeof(*ctx));
+    if (ctx != NULL) {
+        aes_generic_ocb_cleanup(ctx);
+        OPENSSL_cleanse(ctx->base.iv, sizeof(ctx->base.iv));
+        OPENSSL_clear_free(ctx,  sizeof(*ctx));
+    }
 }
 
 static void *aes_ocb_dupctx(void *vctx)
@@ -300,8 +302,10 @@ static void *aes_ocb_dupctx(void *vctx)
         return NULL;
     }
     *ret = *in;
-    if (!aes_generic_ocb_copy_ctx(ret, in))
+    if (!aes_generic_ocb_copy_ctx(ret, in)) {
         OPENSSL_free(ret);
+        ret = NULL;
+    }
     return ret;
 }
 
index a817b070e027d7d9eae6ac2a7964ee1ff42bceff..d954073d647e303d955391d35cc074a78600d55e 100644 (file)
@@ -141,9 +141,10 @@ end:
     OPENSSL_free(module_checksum);
     OPENSSL_free(indicator_checksum);
 
-    (*st->bio_free_cb)(bio_indicator);
-    (*st->bio_free_cb)(bio_module);
-
+    if (st != NULL) {
+        (*st->bio_free_cb)(bio_indicator);
+        (*st->bio_free_cb)(bio_module);
+    }
     FIPS_state = ok ? FIPS_STATE_RUNNING : FIPS_STATE_ERROR;
 
     return ok;