From 8f295eec1dcc73d54dd3b6c7e48c06ae7f614d9e Mon Sep 17 00:00:00 2001 From: Stanimir Bozhilov Date: Sat, 15 Jul 2023 15:09:31 +0200 Subject: [PATCH] Remove previous heuristic for UAF warning in multi-threaded case --- src/analyses/useAfterFree.ml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/analyses/useAfterFree.ml b/src/analyses/useAfterFree.ml index 5ead54d016..c3aebc985e 100644 --- a/src/analyses/useAfterFree.ml +++ b/src/analyses/useAfterFree.ml @@ -27,10 +27,6 @@ struct let get_current_threadid ctx = ctx.ask Queries.CurrentThreadId - let warn_for_multi_threaded ctx behavior cwe_number = - if not (ctx.ask (Queries.MustBeSingleThreaded { since_start = true })) then - M.warn ~category:(Behavior behavior) ~tags:[CWE cwe_number] "Program isn't running in single-threaded mode. Use-After-Free might occur due to multi-threading" - let warn_for_multi_threaded_access ctx (heap_var:varinfo) behavior cwe_number = let freeing_threads = ctx.global heap_var in (* If we're single-threaded or there are no threads freeing the memory, we have nothing to WARN about *) @@ -74,7 +70,6 @@ struct let state = ctx.local in let undefined_behavior = if is_double_free then Undefined DoubleFree else Undefined UseAfterFree in let cwe_number = if is_double_free then 415 else 416 in - warn_for_multi_threaded ctx undefined_behavior cwe_number; (* Simple solution to warn when multi-threaded *) let rec offset_might_contain_freed offset = match offset with | NoOffset -> ()