On Sat, 28 Dec 2024 12:49:11 +0100,
Theo Buehler <t...@theobuehler.org> wrote:
> 
> On Sat, Dec 28, 2024 at 12:22:34PM +0100, Theo Buehler wrote:
> > > Index: security/vaultwarden/patches/patch-src_api_icons_rs
> > > ===================================================================
> > > RCS file: security/vaultwarden/patches/patch-src_api_icons_rs
> > > diff -N security/vaultwarden/patches/patch-src_api_icons_rs
> > > --- /dev/null     1 Jan 1970 00:00:00 -0000
> > > +++ security/vaultwarden/patches/patch-src_api_icons_rs   28 Dec 2024 
> > > 11:14:11 -0000
> > > @@ -0,0 +1,13 @@
> > > +Index: src/api/icons.rs
> > > +--- src/api/icons.rs.orig
> > > ++++ src/api/icons.rs
> > > +@@ -270,7 +270,8 @@ fn get_favicons_node(dom: 
> > > Tokenizer<StringReader<'_>, 
> > > + 
> > > +     let mut base_url = url.clone();
> > > +     let mut icon_tags: Vec<Tag> = Vec::new();
> > > +-    for Ok(token) in dom {
> > > ++    for maybe_token in dom {
> > > ++        let token = maybe_token.unwrap();
> > 
> >     while let Ok(token) in dom {
> 
> Sorry, not enough coffee. Ignore me.
> 

No, I think you're correct and it may lead to a panic.

Here just this patch which behaves as it should.

Ok?

Index: src/api/icons.rs
--- src/api/icons.rs.orig
+++ src/api/icons.rs
@@ -270,7 +270,7 @@ fn get_favicons_node(dom: Tokenizer<StringReader<'_>, 
 
     let mut base_url = url.clone();
     let mut icon_tags: Vec<Tag> = Vec::new();
-    for Ok(token) in dom {
+    for token in dom.into_iter().filter_map(Result::ok) {
         let tag_name: &[u8] = &token.tag.name;
         match tag_name {
             TAG_LINK => {




-- 
wbr, Kirill

Reply via email to