소스 검색

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;