]> wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
gost_prov: OPENSSL_free what is OPENSSL_zalloc'd
authorVitaly Chikunov <vt@altlinux.org>
Mon, 10 Jan 2022 01:27:00 +0000 (04:27 +0300)
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>
Mon, 10 Jan 2022 10:33:09 +0000 (13:33 +0300)
  *** CID 345254:  API usage errors  (ALLOC_FREE_MISMATCH)
  /gost_prov.c: 71 in provider_ctx_new()
  65             && populate_gost_engine(ctx->e)) {
  66             ctx->core_handle = core;
  67
  68             /* Ugly hack */
  69             err_handle = ctx->proverr_handle;
  70         } else {
  >>>     CID 345254:  API usage errors  (ALLOC_FREE_MISMATCH)
  >>>     Calling "provider_ctx_free" frees "ctx" using "free" but it should have been freed using "CRYPTO_free".
  71             provider_ctx_free(ctx);
  72             ctx = NULL;
  73         }
  74         return ctx;
  75     }

Fixes: f5a3951 ("gost_prov: Avoid access to unallocated memory")
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
gost_prov.c

index 3d237655d6cc2eb0fd94d6837c8508e8f0d22741..eab5918ac229adffdf5a74873197f5390d0c2364 100644 (file)
@@ -49,7 +49,7 @@ static void provider_ctx_free(PROV_CTX *ctx)
         proverr_free_handle(ctx->proverr_handle);
         OSSL_LIB_CTX_free(ctx->libctx);
     }
-    free(ctx);
+    OPENSSL_free(ctx);
 }
 
 extern int populate_gost_engine(ENGINE *e);