Live data from Hacker News

Viewing profile — zetafunction

zetafunction

HN member
Joined
Wed, Jun 19, 2013, 3:40 PM UTC
HN karma
256
Public activity
49 items

About zetafunction

No profile information was provided.

Recent public activity

  1. comment
    Comment #45955667

    https://issues.chromium.org/issues/451401343 tracks work needed in the upstream xml-rs repository, so it seems like the team is working on addressing issues that would affect stand…

  2. comment
    Comment #44955226

    It's one thing if the library was proactively written with ABI compatibility in mind. It's another thing entirely if the library happens to expose all its implementation details in…

  3. comment
    Comment #44954627

    Disclaimer: I work on Chrome/Blink and I've also contributed a (very small) number of patches to libxml/libxslt. It's not just a matter of replacing the libxslt; libxslt integrates…

  4. comment
    Comment #44954387

    Disclaimer: I work on Chrome and I have contributed a (very) small number of fixes to libxml2/libxslt for some of the recent security bugs. Speaking from personal experience, worki…

  5. comment
    Comment #44697712

    At least some of the implementation complexity is already there under the hood. WebKit/Blink have an optimization to use 8-bit characters for strings that consist only of latin1 ch…

  6. comment
    Comment #44383478

    A large part of the problem is the legacy burden of libxml2 and libxslt. A lot of the implementation details are exposed in headers, and that makes it hard to write improvements/fi…

  7. comment
    Comment #42406469

    Great read! Though there is an unnecessary double map lookup in part 2: https://github.com/tomysshadow/M4Revolution/blob/094764c87aa...

  8. comment
    Comment #41366167

    As someone who had the misfortune of working on clipboard support in Chrome, I thought "wow, there's no way we do that in places other than Linux". ... turns out we do and I helped…

  9. comment
    Comment #39890856

    Except the derived class can simply change the visibility of the override, so...

  10. comment
    Comment #39888907

    `final` prevents a child class from overriding a method. `private` does not.

  11. comment
    Comment #38894247

    Oilpan isn't without issues though: finalization causes quite a few headaches, implementation details like concurrent marking make it hard to support things like std::variant, and …

  12. comment
    Comment #35084409

    Templated code can lead to some really long symbol names. As a random tangent, I was trying to figure out why Chrome's stack symbolizer wasn't working for some stack frames this we…

  13. comment
    Comment #32978127

    Since C++17, using [[nodiscard]] can help with that.

  14. comment
    Comment #32616452

    Disclaimer: I am a Chrome developer, who formerly worked on the clipboard. For a long time, Chrome did not allow pages on the open web to use document.execCommand('copy') or docume…

  15. comment
    Comment #29562106

    Project Zero does publish writeups for Chrome bugs. https://googleprojectzero.blogspot.com/2019/04/virtually-unl... is one example. Disclaimer: I am a Chrome developer.

  16. comment
    Comment #28826611

    From https://developer.chrome.com/blog/private-network-access-upd... > The aim is to protect users from cross-site request forgery (CSRF) attacks targeting routers and other device…

  17. comment
    Comment #23570727

    Chromium has a presubmit that enforces that code is autoformatted. However, it only enforces this for changed lines, and in practice, it works pretty well.

  18. comment
    Comment #23290904

    My personal experience from reading code that uses Chromium's C++ garbage collector is that that's often not true. While there might no longer be use-after-free errors, it's also n…

  19. comment
    Comment #23290864

    Chromium's object graph, for better or worse, has a lot of nodes and edges. Operations like tearing down a document that's navigating away are full of complexity. Executing JS is f…

  20. comment
    Comment #23290834

    Even though Chromium was started before C++11 was standardized, it still used a smart pointer type with move semantics that was very similar to std::unique_ptr for lifetime managem…

  21. comment
    Comment #23290805

    Non-owning pointers are absolutely a problem if the object graph is large and complex enough. Many objects in Chromium have lifetimes managed by smart pointers, but unfortunately, …

  22. comment
    Comment #23290781

    Actually, sqlite has its share of memory safety issues. https://bugs.chromium.org/p/chromium/issues/list?q=Type%3DBu... (and to be clear, this is just a coarse search, and the bugs…

  23. comment
    Comment #23290747

    The object graph in Chromium is extremely complex. Even if an object's lifetime is managed with a smart pointer, there are often raw pointer back references from other objects. And…

  24. comment
    Comment #23290727

    There's actually been quite a bit of work to bounds check accesses for containers implemented inside Chromium, such as span and optional, but it's harder to get these checks into u…

  25. comment
    Comment #20664435

    https://bugs.chromium.org/p/chromium/issues/list?q=Type%3DBu... It's not clear that all these bugs can be turned into an attack, but that sure is a lot of bugs.