Fix base64 decoding of Ed25519 keys.

This commit is contained in:
Guus Sliepen 2014-06-03 11:02:58 +02:00
parent b0d80c7f28
commit ef5e8b6920
2 changed files with 2 additions and 2 deletions

View file

@ -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.

View file

@ -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)