From 20aeccfbb6dbad4b661a5e1055073e79d369c3c1 Mon Sep 17 00:00:00 2001 From: nick black Date: Mon, 26 Apr 2021 02:10:27 -0400 Subject: [PATCH] kitty_restore: properly restore A in triplet #1440 --- src/lib/kitty.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/kitty.c b/src/lib/kitty.c index 6889d2bf5..aeeb98e19 100644 --- a/src/lib/kitty.c +++ b/src/lib/kitty.c @@ -217,7 +217,7 @@ kitty_restore(char* triplet, int skip, int max, int pleft, const uint8_t* auxvec if(max > 1){ a = auxvec[1]; triplet[0x9] = b64subs[(b64idx(triplet[0x9]) & 0x30) | ((a & 0xf0) >> 4)]; - triplet[0xA] = b64subs[((a & 0xf) << 2) | (b64idx(triplet[0xA]) & 0xf)]; + triplet[0xA] = b64subs[((a & 0xf) << 2) | (b64idx(triplet[0xA]) & 0x3)]; } if(max == 3){ a = auxvec[2]; @@ -227,7 +227,7 @@ kitty_restore(char* triplet, int skip, int max, int pleft, const uint8_t* auxvec }else if(skip == 1){ int a = auxvec[0]; triplet[0x9] = b64subs[(b64idx(triplet[0x9]) & 0x30) | ((a & 0xf0) >> 4)]; - triplet[0xA] = b64subs[((a & 0xf) << 2) | (b64idx(triplet[0xA]) & 0xf)]; + triplet[0xA] = b64subs[((a & 0xf) << 2) | (b64idx(triplet[0xA]) & 0x3)]; if(max == 2){ a = auxvec[1]; triplet[0xE] = b64subs[((a & 0xc0) >> 6) | (b64idx(triplet[0xE]) & 0x3c)];