Skip to content

Commit 71bcd40

Browse files
committed
Revert "bugfix: ngx.base: decode_base64url/encode_base64url: worked around a bug in LuaJIT's allocation sinking optimizer which might lead to NULL cdata pointers and segfaults."
This reverts commit c99fbaf following the LuaJIT at openresty/luajit2#46.
1 parent 678a65b commit 71bcd40

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

lib/ngx/base64.lua

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,18 @@ function _M.encode_base64url(s)
4646

4747
local len = #s
4848
local trans_len = base64_encoded_length(len)
49+
local src = src_str_t[0]
50+
local dst = dst_str_t[0]
4951

50-
src_str_t[0].data = s
51-
src_str_t[0].len = len
52+
src.data = s
53+
src.len = len
5254

53-
dst_str_t[0].data = get_string_buf(trans_len)
54-
dst_str_t[0].len = trans_len
55+
dst.data = get_string_buf(trans_len)
56+
dst.len = trans_len
5557

5658
C.ngx_encode_base64url(dst_str_t, src_str_t)
5759

58-
return ffi_str(dst_str_t[0].data, dst_str_t[0].len)
60+
return ffi_str(dst.data, dst.len)
5961
end
6062

6163

@@ -66,19 +68,21 @@ function _M.decode_base64url(s)
6668

6769
local len = #s
6870
local trans_len = base64_decoded_length(len)
71+
local src = src_str_t[0]
72+
local dst = dst_str_t[0]
6973

70-
src_str_t[0].data = s
71-
src_str_t[0].len = len
74+
src.data = s
75+
src.len = len
7276

73-
dst_str_t[0].data = get_string_buf(trans_len)
74-
dst_str_t[0].len = trans_len
77+
dst.data = get_string_buf(trans_len)
78+
dst.len = trans_len
7579

7680
local ret = C.ngx_decode_base64url(dst_str_t, src_str_t)
7781
if ret == NGX_ERROR then
7882
return nil, "invalid input"
7983
end
8084

81-
return ffi_str(dst_str_t[0].data, dst_str_t[0].len)
85+
return ffi_str(dst.data, dst.len)
8286
end
8387

8488

0 commit comments

Comments
 (0)