Skip to content

Commit bc0efd6

Browse files
authored
fix: Solve nil pointer dereference in falco rules (#227)
1 parent 8fd2d4d commit bc0efd6

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

sysdig/resource_sysdig_secure_rule_falco.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ func resourceSysdigRuleFalcoRead(ctx context.Context, d *schema.ResourceData, me
128128
}
129129

130130
rule, err := client.GetRuleByID(ctx, id)
131-
132131
if err != nil {
133132
d.SetId("")
134133
}
@@ -140,7 +139,9 @@ func resourceSysdigRuleFalcoRead(ctx context.Context, d *schema.ResourceData, me
140139
}
141140

142141
updateResourceDataForRule(d, rule)
143-
_ = d.Set("condition", rule.Details.Condition.Condition)
142+
if rule.Details.Condition != nil {
143+
_ = d.Set("condition", rule.Details.Condition.Condition)
144+
}
144145
_ = d.Set("output", rule.Details.Output)
145146
_ = d.Set("priority", strings.ToLower(rule.Details.Priority))
146147
_ = d.Set("source", rule.Details.Source)
@@ -157,6 +158,9 @@ func resourceSysdigRuleFalcoRead(ctx context.Context, d *schema.ResourceData, me
157158
func updateResourceDataExceptions(d *schema.ResourceData, ruleExceptions []*secure.Exception) error {
158159
exceptions := make([]any, 0, len(ruleExceptions))
159160
for _, exception := range ruleExceptions {
161+
if exception == nil {
162+
return fmt.Errorf("exception is nil")
163+
}
160164
valuesData, err := json.Marshal(exception.Values)
161165
if err != nil {
162166
return fmt.Errorf("error marshalling exception values '%+v': %s", exception.Values, err)

0 commit comments

Comments
 (0)