We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
terrascan fails with panic error when I run it against the following terraform script.
resource "null_resource" "cluster" { provisioner "local-exec" { command = "echo '${var.rds_create_db ? "DBNAME" : null}' >> dbs.txt" } }
Tool fails because of null type in the ternary operator. If I replace that null value with literal string "null" or something else, it's works fine.
null
terrascan scan -f test.tf panic: value is null goroutine 1 [running]: github.com/zclconf/go-cty/cty.Value.AsString({{{0x37398a8?, 0xc00081c75d?}}, {0x0?, 0x0?}}) /home/runner/go/pkg/mod/github.com/zclconf/go-cty@v1.10.0/cty/value_ops.go:1259 +0x125 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertStringPart(0xc00099eca0, {0x373a760?, 0xc0006ec480?}) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:226 +0x109 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertTemplateConditional(0xc00099eca0, 0xc0004a7c70) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:262 +0x456 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertStringPart(0xc00099eca0, {0x373a660?, 0xc0004a7c70?}) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:232 +0x185 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertTemplate(0x1?, 0x1?) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:210 +0x107 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertExpression(0xc00099eca0, {0x373a920, 0xc0006ec7e0}) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:166 +0x272 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertBody(0x203000?, 0xc000654bb0) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:56 +0xe7 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertBlock(0x8?, 0xc0004385a0, 0xc00099e8e8, 0xc00099e8b8) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:97 +0x65 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.(*converter).convertBody(0xc00044cc90?, 0xc000654fd0) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/convert.go:70 +0x314 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.CreateResourceConfig(_) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/resource.go:48 +0x125 github.com/tenable/terrascan/pkg/iac-providers/terraform/commons.LoadIacFile({0xc00044cc90, 0x22}, {0x305c94c, 0x6}) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/commons/load-file.go:58 +0x499 github.com/tenable/terrascan/pkg/iac-providers/terraform/v15.(*TfV15).LoadIacFile(0x29da420, {0xc00044cc90?, 0x3068455?}, 0xb?) /home/runner/work/terrascan/terrascan/pkg/iac-providers/terraform/v15/load-file.go:26 +0x30 github.com/tenable/terrascan/pkg/runtime.(*Executor).Execute(0xc000928a80, 0x0, 0x0) /home/runner/work/terrascan/terrascan/pkg/runtime/executor.go:226 +0x1d9 github.com/tenable/terrascan/pkg/cli.(*ScanOptions).Run(0xc000581520) /home/runner/work/terrascan/terrascan/pkg/cli/run.go:218 +0x44a github.com/tenable/terrascan/pkg/cli.(*ScanOptions).Scan(0x0?) /home/runner/work/terrascan/terrascan/pkg/cli/run.go:140 +0x1b7 github.com/tenable/terrascan/pkg/cli.scan(0x4ea5300?, {0xc0003fa540?, 0x2?, 0x2?}) /home/runner/work/terrascan/terrascan/pkg/cli/scan.go:55 +0x11f github.com/spf13/cobra.(*Command).execute(0x4ea5300, {0xc0003fa520, 0x2, 0x2}) /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:916 +0x862 github.com/spf13/cobra.(*Command).ExecuteC(0x4ea5020) /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd github.com/spf13/cobra.(*Command).Execute(...) /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968 github.com/tenable/terrascan/pkg/cli.Execute() /home/runner/work/terrascan/terrascan/pkg/cli/register.go:98 +0x435 main.main() /home/runner/work/terrascan/terrascan/cmd/terrascan/main.go:22 +0x17
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Description
terrascan fails with panic error when I run it against the following terraform script.
Tool fails because of
null
type in the ternary operator. If I replace thatnull
value with literal string "null" or something else, it's works fine.What I Did
The text was updated successfully, but these errors were encountered: