From e2501b94a9f91f4d2d37d52bb51093ffdd80d0ff Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Fri, 3 Mar 2023 14:17:40 -0500 Subject: [PATCH] Fix fulldescription missing patch previous patch added nonunique placeholder but must be unique --- sarif_cli/signature.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sarif_cli/signature.py b/sarif_cli/signature.py index d59d191..c8b2f18 100644 --- a/sarif_cli/signature.py +++ b/sarif_cli/signature.py @@ -6,6 +6,7 @@ See sarif-to-dot for options and examples. from dataclasses import dataclass from . import traverse import zlib +from sarif_cli import snowflake_id # # These are internal node format samples produced by the _signature* functions, as @@ -25,6 +26,8 @@ import zlib # ('tags', 'Array002'))), # ... +flakegen = snowflake_id.Snowflake(0) + # # Context for signature functions # @@ -306,7 +309,9 @@ def fillsig_dict(args, elem, context): #this fix depends on optional property defaultConfiguration being presents if 'defaultConfiguration' in elem.keys(): # Ensure fullDescription is present - full_elem['fullDescription'] = elem.get('fullDescription', "description_placeholder") + # value must be unique because it is used in id gen used in table join later (joins_for_rules) + flake = flakegen.next() + full_elem['fullDescription'] = elem.get('fullDescription', "description_placeholder"+str(flake)) if 'partialFingerprints' in elem.keys(): # Ensure relatedLocations is present