commit - fb70a4127eef7cdd86cde443c9409c8d7f247ab6
commit + cc5f172ad7e0a7bbbce9083d8416e2e29d9cc2b1
blob - d2bf3956029a5b1759d0c055abb3920ec1a1c454
blob + c44a7fcb1e7af1dbd2a1bdb9efc83c8237e8c13b
--- totp.c
+++ totp.c
}
static size_t
-b32decode(char *s, size_t slen, char *q, size_t qlen)
+b32decode(const char *s, char *q, size_t qlen)
{
int i, val[8];
char *t = q;
- while (slen > 0) {
+ while (*s != '\0') {
memset(val, 0, sizeof(val));
for (i = 0; i < 8; ++i) {
- if (slen == 0)
+ if (*s == '\0')
break;
if ((val[i] = b32c(*s)) == -1)
return (0);
- s++, slen--;
+ s++;
}
if (qlen < 5) {
if (linelen < 1)
errx(1, "no secret provided");
- if ((buflen = b32decode(line, linelen, buf, sizeof(buf))) == 0)
+ if ((buflen = b32decode(line, buf, sizeof(buf))) == 0)
err(1, "can't base32 decode the secret");
ct = htobe64(time(NULL) / 30);