From 7a92cb521242f87f42ea308e5d731f5960421680 Mon Sep 17 00:00:00 2001 From: Cosmin Cojocar Date: Mon, 21 Jul 2025 15:11:17 +0000 Subject: [PATCH] Fix crash in hardcoded_nonce analyzer Change-Id: If5ed3709d6e1ddced1be555477dd0f5451aab901 Signed-off-by: Cosmin Cojocar --- analyzers/hardcoded_nonce.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/analyzers/hardcoded_nonce.go b/analyzers/hardcoded_nonce.go index c9c5395fb1..4501fb65aa 100644 --- a/analyzers/hardcoded_nonce.go +++ b/analyzers/hardcoded_nonce.go @@ -197,12 +197,20 @@ func isFuncContainsCryptoRand(funcCall *ssa.Function) (bool, error) { } func addToVarsMap(value ssa.Value, mapToAddTo map[string]*ssa.Value) { - key := value.Name() + value.Type().String() + value.String() + value.Parent().String() + var parent string + if value.Parent() != nil { + parent = value.Parent().String() + } + key := value.Name() + value.Type().String() + value.String() + parent mapToAddTo[key] = &value } func isContainedInMap(value ssa.Value, mapToCheck map[string]*ssa.Value) bool { - key := value.Name() + value.Type().String() + value.String() + value.Parent().String() + var parent string + if value.Parent() != nil { + parent = value.Parent().String() + } + key := value.Name() + value.Type().String() + value.String() + parent _, contained := mapToCheck[key] return contained }