aboutsummaryrefslogtreecommitdiff
path: root/type.go
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-02-18 17:51:05 +0100
committerRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-02-18 17:51:05 +0100
commit55a0a1c9c2a6df4f05d539f0fc67a8c7052a338f (patch)
tree7a3608849a876338d2c4ed445bd0cda7182654ef /type.go
parent86573a8daaa9c0972c088e8b2ddec6fdb95d86d2 (diff)
fixed unexpected reflect behavior
After tls.Unmarshal() an empty slice is not assigned the nil value, but rather a slice of zero length. It is in contrast to NewTreeHeadV1(), which assigns a nil value. Therefore, reflect.DeepEqual() considers them to be different. Fixed by assigning an empty tree head extension as `make([]byte, 0)`, and not looking for nil values but rather zero-length values with len(). Further read: "Note that a non-nil empty slice and a nil slice [...] are not deeply equal." (https://golang.org/pkg/reflect/#DeepEqual).
Diffstat (limited to 'type.go')
-rw-r--r--type.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/type.go b/type.go
index 72aeecc..db9ddc6 100644
--- a/type.go
+++ b/type.go
@@ -282,7 +282,7 @@ func NewTreeHeadV1(lr *types.LogRootV1) *TreeHeadV1 {
uint64(lr.TimestampNanos / 1000 / 1000),
uint64(lr.TreeSize),
NodeHash{lr.RootHash},
- nil,
+ make([]byte, 0),
}
}