Skip to content

Commit f057425

Browse files
committed
fix: possible nil pointer
1 parent c2dbdba commit f057425

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

internal/process/process.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -160,28 +160,28 @@ func Load(configBlob []byte) (*config.Config, error) {
160160
// Assign values from template
161161
if peerData.Template != nil && *peerData.Template != "" {
162162
template := c.Templates[*peerData.Template]
163-
//golint:ignore
164163
if template == nil {
165164
log.Fatalf("Template %s not found", *peerData.Template)
166-
}
167-
templateValue := reflect.ValueOf(*template)
168-
peerValue := reflect.ValueOf(c.Peers[peerName]).Elem()
169-
170-
templateValueType := templateValue.Type()
171-
for i := 0; i < templateValueType.NumField(); i++ {
172-
fieldName := templateValueType.Field(i).Name
173-
peerFieldValue := peerValue.FieldByName(fieldName)
174-
if fieldName != "Template" { // Ignore the template field
175-
pVal := reflect.Indirect(peerFieldValue)
176-
peerHasValueConfigured := pVal.IsValid()
177-
tValue := templateValue.Field(i)
178-
templateHasValueConfigured := !tValue.IsNil()
179-
if templateHasValueConfigured && !peerHasValueConfigured {
180-
// Use the template's value
181-
peerFieldValue.Set(templateValue.Field(i))
182-
}
165+
} else {
166+
templateValue := reflect.ValueOf(*template)
167+
peerValue := reflect.ValueOf(c.Peers[peerName]).Elem()
168+
169+
templateValueType := templateValue.Type()
170+
for i := 0; i < templateValueType.NumField(); i++ {
171+
fieldName := templateValueType.Field(i).Name
172+
peerFieldValue := peerValue.FieldByName(fieldName)
173+
if fieldName != "Template" { // Ignore the template field
174+
pVal := reflect.Indirect(peerFieldValue)
175+
peerHasValueConfigured := pVal.IsValid()
176+
tValue := templateValue.Field(i)
177+
templateHasValueConfigured := !tValue.IsNil()
178+
if templateHasValueConfigured && !peerHasValueConfigured {
179+
// Use the template's value
180+
peerFieldValue.Set(templateValue.Field(i))
181+
}
183182

184-
log.Tracef("[%s] field: %s template's value: %+v kind: %T templateHasValueConfigured: %v", peerName, fieldName, reflect.Indirect(tValue), tValue.Kind().String(), templateHasValueConfigured)
183+
log.Tracef("[%s] field: %s template's value: %+v kind: %T templateHasValueConfigured: %v", peerName, fieldName, reflect.Indirect(tValue), tValue.Kind().String(), templateHasValueConfigured)
184+
}
185185
}
186186
}
187187
} // end peer template processor

0 commit comments

Comments
 (0)