Jelajahi Sumber

Another base64 bug

Simon Sapin 8 tahun lalu
induk
melakukan
28c79fb2de
2 mengubah file dengan 3 tambahan dan 6 penghapusan
  1. 1 1
      src/forgiving_base64.rs
  2. 2 5
      tests/wpt.rs

+ 1 - 1
src/forgiving_base64.rs

@@ -76,7 +76,7 @@ impl<F, E> Decoder<F, E> where F: FnMut(&[u8]) -> Result<(), E> {
                 }
 
                 if byte == b'=' {
-                    self.padding_symbols = self.padding_symbols.saturating_add(8);
+                    self.padding_symbols = self.padding_symbols.saturating_add(1);
                     continue
                 }
 

+ 2 - 5
tests/wpt.rs

@@ -88,11 +88,8 @@ fn collect_base64<F>(add_test: &mut F)
             Some(json_byte_array(expected))
         };
 
-        let should_panic = [
-            "ab==",
-            "ab\t\n\u{c}\r =\t\n\u{c}\r =\t\n\u{c}\r ",
-            "abc=",
-        ].contains(&&*input);
+        let known_failures = [];
+        let should_panic = known_failures.contains(&&*input);
         add_test(
             format!("base64 {:?}", input),
             should_panic,