File tree Expand file tree Collapse file tree 5 files changed +11
-14
lines changed Expand file tree Collapse file tree 5 files changed +11
-14
lines changed Original file line number Diff line number Diff line change @@ -24,11 +24,8 @@ const (
24
24
'vlib/crypto/rand/crypto_rand_read_test.v' ,
25
25
]
26
26
skip_with_fsanitize_address = [
27
- 'vlib/encoding/base64/base64_test.v' ,
28
27
'vlib/json/json_test.v' ,
29
28
'vlib/regex/regex_test.v' ,
30
- 'vlib/v/tests/ptr_arithmetic_test.v' ,
31
- 'vlib/v/tests/unsafe_test.v' ,
32
29
'vlib/x/websocket/websocket_test.v' ,
33
30
]
34
31
skip_with_fsanitize_undefined = []string {}
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ const (
18
18
// Example: assert base64.decode('ViBpbiBiYXNlIDY0') == 'V in base 64'
19
19
pub fn decode (data string ) []byte {
20
20
size := data.len * 3 / 4
21
- if size < = 0 {
21
+ if size < = 0 || data.len % 4 != 0 {
22
22
return []
23
23
}
24
24
unsafe {
@@ -31,7 +31,7 @@ pub fn decode(data string) []byte {
31
31
// decode_str is the string variant of decode
32
32
pub fn decode_str (data string ) string {
33
33
size := data.len * 3 / 4
34
- if size < = 0 {
34
+ if size < = 0 || data.len % 4 != 0 {
35
35
return ''
36
36
}
37
37
unsafe {
Original file line number Diff line number Diff line change @@ -43,9 +43,9 @@ fn test_decode() {
43
43
assert base64 .decode (man_pair.encoded) == man_pair.decoded.bytes ()
44
44
45
45
// Test for incorrect padding.
46
- assert base64 .decode ('aGk' ) == 'hi ' .bytes ()
46
+ assert base64 .decode ('aGk' ) == '' .bytes ()
47
47
assert base64 .decode ('aGk=' ) == 'hi' .bytes ()
48
- assert base64 .decode ('aGk==' ) == 'hi ' .bytes ()
48
+ assert base64 .decode ('aGk==' ) == '' .bytes ()
49
49
50
50
for i, p in pairs {
51
51
got := base64 .decode (p.encoded)
@@ -60,9 +60,9 @@ fn test_decode_str() {
60
60
assert base64 .decode_str (man_pair.encoded) == man_pair.decoded
61
61
62
62
// Test for incorrect padding.
63
- assert base64 .decode_str ('aGk' ) == 'hi '
63
+ assert base64 .decode_str ('aGk' ) == ''
64
64
assert base64 .decode_str ('aGk=' ) == 'hi'
65
- assert base64 .decode_str ('aGk==' ) == 'hi '
65
+ assert base64 .decode_str ('aGk==' ) == ''
66
66
67
67
for i, p in pairs {
68
68
got := base64 .decode_str (p.encoded)
Original file line number Diff line number Diff line change @@ -9,12 +9,12 @@ fn test_ptr_arithmetic() {
9
9
p++
10
10
p + = 2
11
11
p = p - 1
12
- assert p == & v + 2
12
+ assert ptr_str (p) == ptr_str ( & v + 2 )
13
13
p = p + 1
14
- assert p == & v + 3
14
+ assert ptr_str (p) == ptr_str ( & v + 3 )
15
15
r := p++
16
- assert r == & v + 3
17
- assert p == & v + 4
16
+ assert ptr_str (r) == ptr_str ( & v + 3 )
17
+ assert ptr_str (p) == ptr_str ( & v + 4 )
18
18
}
19
19
}
20
20
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ fn test_ptr_infix() {
36
36
v := 4
37
37
mut q := unsafe {& v - 1 }
38
38
q = unsafe {q + 3 }
39
- assert q == unsafe {& v + 2 }
39
+ assert ptr_str (q) == ptr_str ( unsafe {& v + 2 })
40
40
}
41
41
42
42
struct S1 {
You can’t perform that action at this time.
0 commit comments