From 2a0becb35b2edb26cb96a76dd7aec889da659ca1 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Wed, 15 Jul 2020 14:47:49 +0100 Subject: [PATCH] Fix panic when uploading keys We don't return OTK counts when the client doesn't upload OTKs. --- clientapi/routing/keys.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clientapi/routing/keys.go b/clientapi/routing/keys.go index 8c5c5bbef..56b2faf7b 100644 --- a/clientapi/routing/keys.go +++ b/clientapi/routing/keys.go @@ -82,10 +82,15 @@ func UploadKeys(req *http.Request, keyAPI api.KeyInternalAPI, device *userapi.De JSON: uploadRes.KeyErrors, } } + keyCount := make(map[string]int) + // we only return key counts when the client uploads OTKs + if len(uploadRes.OneTimeKeyCounts) > 0 { + keyCount = uploadRes.OneTimeKeyCounts[0].KeyCount + } return util.JSONResponse{ Code: 200, JSON: struct { OTKCounts interface{} `json:"one_time_key_counts"` - }{uploadRes.OneTimeKeyCounts[0].KeyCount}, + }{keyCount}, } }