Fix panic when uploading keys

We don't return OTK counts when the client doesn't upload OTKs.
This commit is contained in:
Kegan Dougal 2020-07-15 14:47:49 +01:00
parent 9dd2ed7f65
commit 2a0becb35b

View file

@ -82,10 +82,15 @@ func UploadKeys(req *http.Request, keyAPI api.KeyInternalAPI, device *userapi.De
JSON: uploadRes.KeyErrors, 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{ return util.JSONResponse{
Code: 200, Code: 200,
JSON: struct { JSON: struct {
OTKCounts interface{} `json:"one_time_key_counts"` OTKCounts interface{} `json:"one_time_key_counts"`
}{uploadRes.OneTimeKeyCounts[0].KeyCount}, }{keyCount},
} }
} }