From: Disconnect3d Date: Tue, 22 Dec 2020 12:27:01 +0000 (+0100) Subject: Fixed encoding matching for base64url in String.bytesFrom(). X-Git-Tag: 0.5.1~20 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=c81804017a3c41b90249e7b8102dacc049efed68;p=njs.git Fixed encoding matching for base64url in String.bytesFrom(). This closes #363 PR on GitHub. --- diff --git a/src/njs_string.c b/src/njs_string.c index 68e198d6..f0159cda 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -1753,7 +1753,7 @@ njs_string_bytes_from_string(njs_vm_t *vm, const njs_value_t *string, } else if (enc.length == 6 && memcmp(enc.start, "base64", 6) == 0) { return njs_string_decode_base64(vm, &vm->retval, &str); - } else if (enc.length == 9 && memcmp(enc.start, "base64url", 6) == 0) { + } else if (enc.length == 9 && memcmp(enc.start, "base64url", 9) == 0) { return njs_string_decode_base64url(vm, &vm->retval, &str); } diff --git a/src/test/njs_unit_test.c b/src/test/njs_unit_test.c index 4b8b5055..5109d3a1 100644 --- a/src/test/njs_unit_test.c +++ b/src/test/njs_unit_test.c @@ -9016,6 +9016,9 @@ static njs_unit_test_t njs_test[] = { njs_str("String.bytesFrom('QUJDRA#', 'base64url')"), njs_str("ABCD") }, + { njs_str("String.bytesFrom('QUJDRA#', 'base64lol')"), + njs_str("TypeError: Unknown encoding: \"base64lol\"") }, + { njs_str("encodeURI.name"), njs_str("encodeURI")},