Skip to content

Commit 74da978

Browse files
causalnetpurejava
authored andcommitted
Fix incrementNonce() to work when multiple bytes need to increment.
1 parent 750da2e commit 74da978

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/main/java/org/keepassxc/Connection.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -683,8 +683,13 @@ private byte[] ramdomGenerateNonce() {
683683
private byte[] incrementNonce(byte[] nonce) {
684684
var c = 1;
685685
byte[] incrementedNonce = nonce.clone();
686-
c += incrementedNonce[0];
687-
incrementedNonce[0] = (byte) c;
686+
687+
for (int i = 0; i < nonce.length; i++) {
688+
c += (incrementedNonce[i] & 0xFF /*treat as unsigned*/);
689+
incrementedNonce[i] = (byte) c;
690+
c >>= 8;
691+
}
692+
688693
return incrementedNonce;
689694
}
690695

0 commit comments

Comments
 (0)