diff options
| author | 2023-07-16 22:42:19 -0700 | |
|---|---|---|
| committer | 2023-07-16 22:42:19 -0700 | |
| commit | 7917ebd58f852685f5b8abc50541747bfbb2ee13 (patch) | |
| tree | 8b07c61945b428583e8f2cdd9d59d3399811e8e4 /src | |
| parent | a86d00c6728f0fdab2f9302c3e02bc712df4ba0c (diff) | |
| download | bun-7917ebd58f852685f5b8abc50541747bfbb2ee13.tar.gz bun-7917ebd58f852685f5b8abc50541747bfbb2ee13.tar.zst bun-7917ebd58f852685f5b8abc50541747bfbb2ee13.zip | |
Fixes base64url encoding for crypto (#3654)
* Fixes base64url encoding for crypto
* :green_apple:
* Update nodejs-apis.md
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/bun.js/node/types.zig | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig index e035c01a6..0b19c7fcc 100644 --- a/src/bun.js/node/types.zig +++ b/src/bun.js/node/types.zig @@ -528,12 +528,10 @@ pub const Encoding = enum(u8) { return JSC.ZigString.init(base64[0..len]).toValueGC(globalThis); }, .base64url => { - var buf: [std.base64.url_safe.Encoder.calcSize(size) + "data:;base64,".len]u8 = undefined; - var encoded = std.base64.url_safe.Encoder.encode(buf["data:;base64,".len..], input); - buf[0.."data:;base64,".len].* = "data:;base64,".*; + var buf: [std.base64.url_safe_no_pad.Encoder.calcSize(size)]u8 = undefined; + var encoded = std.base64.url_safe_no_pad.Encoder.encode(&buf, input); - const result = JSC.ZigString.init(buf[0 .. "data:;base64,".len + encoded.len]).toValueGC(globalThis); - return result; + return JSC.ZigString.init(buf[0..encoded.len]).toValueGC(globalThis); }, .hex => { var buf: [size * 4]u8 = undefined; @@ -566,13 +564,10 @@ pub const Encoding = enum(u8) { return result; }, .base64url => { - var buf_: [std.base64.url_safe.Encoder.calcSize(max_size) + "data:;base64,".len]u8 = undefined; - var buf = buf_[0 .. std.base64.url_safe.Encoder.calcSize(size) + "data:;base64,".len]; - var encoded = std.base64.url_safe.Encoder.encode(buf["data:;base64,".len..], input); - buf[0.."data:;base64,".len].* = "data:;base64,".*; + var buf: [std.base64.url_safe_no_pad.Encoder.calcSize(max_size)]u8 = undefined; + var encoded = std.base64.url_safe_no_pad.Encoder.encode(&buf, input); - const result = JSC.ZigString.init(buf[0 .. "data:;base64,".len + encoded.len]).toValueGC(globalThis); - return result; + return JSC.ZigString.init(buf[0..encoded.len]).toValueGC(globalThis); }, .hex => { var buf: [max_size * 4]u8 = undefined; |
