fix(measurex): handle case where TH is nil (#610)

This case happens when the TH fails.

See https://github.com/ooni/probe/issues/1895.
This commit is contained in:
Simone Basso 2021-11-22 20:16:38 +01:00 committed by GitHub
parent 7f0fb5e619
commit 5b9f701317
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View File

@ -496,12 +496,15 @@ type ArchivalTHMeasurement struct {
} }
// NewArchivalTHMeasurement creates the archival representation of THMeasurement. // NewArchivalTHMeasurement creates the archival representation of THMeasurement.
func NewArchivalTHMeasurement(in *THMeasurement) *ArchivalTHMeasurement { func NewArchivalTHMeasurement(in *THMeasurement) (out *ArchivalTHMeasurement) {
return &ArchivalTHMeasurement{ if in != nil {
out = &ArchivalTHMeasurement{
DNS: NewArchivalDNSMeasurementList(in.DNS), DNS: NewArchivalDNSMeasurementList(in.DNS),
Endpoints: NewArchivalHTTPEndpointMeasurementList(in.Endpoints), Endpoints: NewArchivalHTTPEndpointMeasurementList(in.Endpoints),
} }
} }
return
}
// //
// DNSMeasurement // DNSMeasurement

View File

@ -31,7 +31,8 @@ type URLMeasurement struct {
// if we choose to follow redirections. // if we choose to follow redirections.
RedirectURLs []string RedirectURLs []string
// TH is the measurement collected by the TH. // TH is the measurement collected by the TH. This field
// will be nil if we cannot contact the TH.
TH *THMeasurement TH *THMeasurement
// TotalRuntime is the total time to measure this URL. // TotalRuntime is the total time to measure this URL.