aboutsummaryrefslogtreecommitdiff
path: root/tvloader/parser2v2/parse_file.go
diff options
context:
space:
mode:
Diffstat (limited to 'tvloader/parser2v2/parse_file.go')
-rw-r--r--tvloader/parser2v2/parse_file.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/tvloader/parser2v2/parse_file.go b/tvloader/parser2v2/parse_file.go
index 86886d3..27ec6a4 100644
--- a/tvloader/parser2v2/parse_file.go
+++ b/tvloader/parser2v2/parse_file.go
@@ -18,11 +18,19 @@ func (parser *tvParser2_2) parsePairFromFile2_2(tag string, value string) error
switch tag {
// tag for creating new file section
case "FileName":
+ // check if the previous file contained an spdx Id or not
+ if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 {
+ return fmt.Errorf("file with FileName %s does not have SPDX identifier", parser.file.FileName)
+ }
parser.file = &spdx.File2_2{}
parser.file.FileName = value
// tag for creating new package section and going back to parsing Package
case "PackageName":
parser.st = psPackage2_2
+ // check if the previous file contained an spdx Id or not
+ if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 {
+ return fmt.Errorf("file with FileName %s does not have SPDX identifier", parser.file.FileName)
+ }
parser.file = nil
return parser.parsePairFromPackage2_2(tag, value)
// tag for going on to snippet section