As Ladybird gets more complex, it will most certainly have memory corruption vulnerabilities, just like the other browsers and it will turn out to be no different.
--
Let me make a silly argument. Let's say you write a program in rust, a sort of elaborate turing tape that interprets C++ code and evaluates it as a C++ program according to all standards and rules. To the end user it is indistinguishable from a C++ interpreter, but between the C++ code and the system is a layer of rust.
According to standard rustacean dogma, this program will simultaneously be guaranteed to be memory safe because it is rust, and inevitably have memory corruption bugs because it is C++. This is surely a contradiction. It cannot both be incorrect and correct at the same time.
Anyway, wxWidgets is an example of a C++ framework which is almost flawless and comparable in complexity to Gecko.
It is.
> I'm studied the Firefox code and there are lots of raw pointers being used everywhere, instead of them using RAII.
Firefox is still in C++ and is still subject to memory corruption vulnerabilities, proving my point again.
> Anyway, wxWidgets is an example of a C++ framework which is almost flawless and comparable in complexity to Gecko.
"almost flawless" is still in the category of 'possible'. Memory corruption is not possible in Rust by default.
Surely you understand what 'inevitable' means before giving me an example of a project that has at least one memory corruption vulnerability out of the thousands of other projects that are also in C++, especially browser-based software?
If it was written in Rust on the other hand, it eliminates those specific class of vulnerabilities.