acme/autocert: return error from cachePut

Fixes https://github.com/golang/go/issues/23569

Change-Id: I0f3ffab74acd2b69da0bbec2e0e90e42c2618071
GitHub-Last-Rev: e66a888d643dacc290ef58649dcc248d1925219e
GitHub-Pull-Request: golang/crypto#35
Reviewed-on: https://go-review.googlesource.com/98756
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/acme/autocert/renewal.go b/acme/autocert/renewal.go
index 6c5da2b..2a3a0a7 100644
--- a/acme/autocert/renewal.go
+++ b/acme/autocert/renewal.go
@@ -102,7 +102,9 @@
 	if err != nil {
 		return 0, err
 	}
-	dr.m.cachePut(ctx, dr.domain, tlscert)
+	if err := dr.m.cachePut(ctx, dr.domain, tlscert); err != nil {
+		return 0, err
+	}
 	dr.m.stateMu.Lock()
 	defer dr.m.stateMu.Unlock()
 	// m.state is guaranteed to be non-nil at this point