Fix base64 decoding of Ed25519 keys.
This commit is contained in:
parent
b0d80c7f28
commit
ef5e8b6920
2 changed files with 2 additions and 2 deletions
|
@ -906,7 +906,7 @@ int cmd_join(int argc, char *argv[]) {
|
|||
if(!port || !*port)
|
||||
port = "655";
|
||||
|
||||
if(!b64decode(slash, hash, 18) || !b64decode(slash + 24, cookie, 18))
|
||||
if(!b64decode(slash, hash, 24) || !b64decode(slash + 24, cookie, 24))
|
||||
goto invalid;
|
||||
|
||||
// Generate a throw-away key for the invitation.
|
||||
|
|
|
@ -75,7 +75,7 @@ int b64decode(const char *src, void *dst, int length) {
|
|||
uint32_t triplet = 0;
|
||||
unsigned char *udst = (unsigned char *)dst;
|
||||
|
||||
for(i = 0; i < length / 3 * 4 && src[i]; i++) {
|
||||
for(i = 0; i < length && src[i]; i++) {
|
||||
triplet |= base64_decode[src[i] & 0xff] << (6 * (i & 3));
|
||||
if((i & 3) == 3) {
|
||||
if(triplet & 0xff000000U)
|
||||
|
|
Loading…
Reference in a new issue