瀏覽代碼

Fix a memory leak

twisted_pear 2 年之前
父節點
當前提交
ce960ccde8
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      crypto_wrapper.c

+ 4 - 1
crypto_wrapper.c

@@ -65,7 +65,10 @@ void crypto_ctx_free(ESubGhzChatCryptoCtx *ctx)
 
 void crypto_ctx_clear(ESubGhzChatCryptoCtx *ctx)
 {
-	crypto_explicit_bzero(ctx, sizeof(ESubGhzChatCryptoCtx));
+	crypto_explicit_bzero(ctx->key, sizeof(ctx->key));
+#ifndef FURI_HAL_CRYPTO_ADVANCED_AVAIL
+	crypto_explicit_bzero(&(ctx->gcm_ctx), sizeof(ctx->gcm_ctx));
+#endif /* FURI_HAL_CRYPTO_ADVANCED_AVAIL */
 	ESubGhzChatReplayDict_reset(ctx->replay_dict);
 	ctx->run_id = 0;
 	ctx->counter = 1;