diff options
author | Stavros Aronis <[email protected]> | 2012-09-05 18:25:48 +0200 |
---|---|---|
committer | Stavros Aronis <[email protected]> | 2012-09-26 11:06:43 +0200 |
commit | 5e766039bb990ac17a9559301ad1599e250bf9e7 (patch) | |
tree | 4cb107d4f12ee360332c330d4b0367c757f49ca8 /lib/dialyzer/src/dialyzer_races.erl | |
parent | fc17b0ed2bc905b51ed4c4ea5f13efd866bc4f80 (diff) | |
download | otp-5e766039bb990ac17a9559301ad1599e250bf9e7.tar.gz otp-5e766039bb990ac17a9559301ad1599e250bf9e7.tar.bz2 otp-5e766039bb990ac17a9559301ad1599e250bf9e7.zip |
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.
Diffstat (limited to 'lib/dialyzer/src/dialyzer_races.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_races.erl | 5 |
1 files changed, 4 insertions, 1 deletions
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. |