From 5e766039bb990ac17a9559301ad1599e250bf9e7 Mon Sep 17 00:00:00 2001 From: Stavros Aronis Date: Wed, 5 Sep 2012 18:25:48 +0200 Subject: Fix a crash in race condition detection Analysis is not always able to find the variable labels and names for any kind of arguments passed to the ets module functions. --- lib/dialyzer/src/dialyzer_races.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/dialyzer/src/dialyzer_races.erl') diff --git a/lib/dialyzer/src/dialyzer_races.erl b/lib/dialyzer/src/dialyzer_races.erl index cdb9f25999..2aa8343bce 100644 --- a/lib/dialyzer/src/dialyzer_races.erl +++ b/lib/dialyzer/src/dialyzer_races.erl @@ -1758,7 +1758,10 @@ compare_var_list(Var, VarList, RaceVarMap) -> ets_list_args(MaybeList) -> case is_list(MaybeList) of - true -> [ets_tuple_args(T) || T <- MaybeList]; + true -> + try [ets_tuple_args(T) || T <- MaybeList] + catch _:_ -> [?no_label] + end; false -> [ets_tuple_args(MaybeList)] end. -- cgit v1.2.3