diff --git a/src/client/actions/encryption.cpp b/src/client/actions/encryption.cpp --- a/src/client/actions/encryption.cpp +++ b/src/client/actions/encryption.cpp @@ -73,7 +73,7 @@ return { std::move(m), simpleFail }; } - kzo.client.dbg() << "Generating one-time keys..." << std::endl; + kzo.client.dbg() << "Generating " << a.numToGen << " one-time keys..." << std::endl; auto maxNumKeys = m.constCrypto().maxNumberOfOneTimeKeys(); auto numLocalKeys = m.constCrypto().numUnpublishedOneTimeKeys(); diff --git a/src/client/client-model.cpp b/src/client/client-model.cpp --- a/src/client/client-model.cpp +++ b/src/client/client-model.cpp @@ -266,6 +266,9 @@ // Subtract the number of existing one-time keys, in case // the previous upload was not successful. int numKeysToGenerate = numKeysNeeded - crypto.numUnpublishedOneTimeKeys(); + if (numKeysToGenerate < 0) { + numKeysToGenerate = 0; + } return numKeysToGenerate; }