Loading ChangeLog +8 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,14 @@ Changes in version 0.2.0.9-alpha - 2007-10-?? after publishing the consensus; avoid a heisenbug that made them stick around indefinitely. o Minor bugfixes (memory leaks): - Stop leaking memory on failing case of base32_decode. Bugfix on 0.2.0.7-alpha. o Minor bugfixes (misc): - Make base32_decode() accept upper-case letters. Bugfix on 0.2.0.7-alpha. o Code simplifications and refactoring: - Remove support for the old bw_accounting file: we've been storing bandwidth accounting information in the state file since 0.1.2.5-alpha. Loading src/common/crypto.c +2 −0 Original line number Diff line number Diff line Loading @@ -1891,8 +1891,10 @@ base32_decode(char *dest, size_t destlen, const char *src, size_t srclen) for (j = 0; j < srclen; ++j) { if (src[j] > 0x60 && src[j] < 0x7B) tmp[j] = src[j] - 0x61; else if (src[j] > 0x31 && src[j] < 0x38) tmp[j] = src[j] - 0x18; else if (src[j] > 0x40 && src[j] < 0x5B) tmp[j] = src[j] - 0x41; else { log_warn(LD_BUG, "illegal character in base32 encoded string"); tor_free(tmp); return -1; } } Loading src/or/test.c +6 −0 Original line number Diff line number Diff line Loading @@ -3160,6 +3160,12 @@ test_crypto_base32_decode(void) res = base32_decode(decoded, 60, encoded, 96); test_eq(res, 0); test_memeq(plain, decoded, 60); /* Encode, uppercase, and decode a random string. */ base32_encode(encoded, 96 + 1, plain, 60); tor_strupper(encoded); res = base32_decode(decoded, 60, encoded, 96); test_eq(res, 0); test_memeq(plain, decoded, 60); /* Change encoded string and decode. */ if (encoded[0] == 'a') encoded[0] = 'b'; Loading Loading
ChangeLog +8 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,14 @@ Changes in version 0.2.0.9-alpha - 2007-10-?? after publishing the consensus; avoid a heisenbug that made them stick around indefinitely. o Minor bugfixes (memory leaks): - Stop leaking memory on failing case of base32_decode. Bugfix on 0.2.0.7-alpha. o Minor bugfixes (misc): - Make base32_decode() accept upper-case letters. Bugfix on 0.2.0.7-alpha. o Code simplifications and refactoring: - Remove support for the old bw_accounting file: we've been storing bandwidth accounting information in the state file since 0.1.2.5-alpha. Loading
src/common/crypto.c +2 −0 Original line number Diff line number Diff line Loading @@ -1891,8 +1891,10 @@ base32_decode(char *dest, size_t destlen, const char *src, size_t srclen) for (j = 0; j < srclen; ++j) { if (src[j] > 0x60 && src[j] < 0x7B) tmp[j] = src[j] - 0x61; else if (src[j] > 0x31 && src[j] < 0x38) tmp[j] = src[j] - 0x18; else if (src[j] > 0x40 && src[j] < 0x5B) tmp[j] = src[j] - 0x41; else { log_warn(LD_BUG, "illegal character in base32 encoded string"); tor_free(tmp); return -1; } } Loading
src/or/test.c +6 −0 Original line number Diff line number Diff line Loading @@ -3160,6 +3160,12 @@ test_crypto_base32_decode(void) res = base32_decode(decoded, 60, encoded, 96); test_eq(res, 0); test_memeq(plain, decoded, 60); /* Encode, uppercase, and decode a random string. */ base32_encode(encoded, 96 + 1, plain, 60); tor_strupper(encoded); res = base32_decode(decoded, 60, encoded, 96); test_eq(res, 0); test_memeq(plain, decoded, 60); /* Change encoded string and decode. */ if (encoded[0] == 'a') encoded[0] = 'b'; Loading