back
user profile

uecker

2,141karma·1,822submissions·April 14, 2020
about
Computational Magnetic Resonance Imaging, Real-time Magnetic Resonance Imaging, GCC Contributor, BART Toolbox, Member of ISO C WG14
recent activity (1,822 total)
comment
Somehow, magically, some people managed to write C software that I now use for three decade with not a single crash in all this time.
16d ago·view thread
comment
The C programs I use daily are generally very fast, very lean and very stable: Programs such as linux, terminals, shells, vim, etc.
16d ago·view thread
comment
I assume he means multi-dimensional arrays: std::array<std::array<int, 3>, 5> array_of_ints; int c_style_array[5][3]; But the C-style array is more readable, so I am not sure …
16d ago·view thread
comment
I think we agree on this. Fil-C does not ensure this. Showing the absence of run-time errors at compile-time is a hard problem, and the most realistic solution in general is via model checkers which I…
17d ago·view thread
comment
It certainly works in my C programs. And Fil-C demos imply that this also works for a lot of other complex real world programs, i.e. a basic Linux distribution with libreoffice on top... So yes, I wo…
17d ago·view thread
comment
Of course, I just wished enough Rust enthusiast cared also about other real-word security issues enough to get this fixed: https://rustup.rs/ …
17d ago·view thread
comment
Regarding the silly point: Fil-C is less of a rock than Safe Rust as everything in C just works. I am not sure about what you mean by "aborts regularly". After a memory safety issue, I think…
18d ago·view thread
comment
And 99% of the problem for memory safety and also any other issue goes away for the regular user if software is obtained from trusted sources that provide security support, because the window of oppor…
18d ago·view thread
comment
The percentage of fixed CVE at Microsoft is an irrelevant number. It is heavily biased by 1) what gets assigned a CVE in the first place (a usability issue or a weak supply chain usually does not even…
18d ago·view thread
comment
> C (where the safe subset is effectively empty), Well, Fil-C and also Cheri show that C is a language that can be implemented with perfect memory safety for 99.9% of the language. This is not true…
18d ago·view thread
comment
Most people I know that had security incidents did not have this because of memory safety issues. But it does not matter, even without memory safety issues out of the picture, you would need to update…
21d ago·view thread
comment
You can also simply wrap an int in a struct in C.
21d ago·view thread
comment
Splitting programs into mutually untrusting modules is a plausible alternative to memory safety in programming languages. Also in a program similar to qmail, memory safety alone is not sufficient, a l…
21d ago·view thread
comment
This is wrong as there are many other safety issues to worry about.
21d ago·view thread
comment
As a user you should be far more worried about running up-to-date software and supply chain risks rather than zero-days related to memory safety.
21d ago·view thread
comment
If we can all agree that my statement was true, there is no problem.
22d ago·view thread
comment
If you agree with that Rust sometimes has to add dynamic bounds check, then you could have just agreed with my original comment.
22d ago·view thread
comment
Rust does not do prevent all UB statically. Even if you guarantee at compile-time that all execution paths have well-defined semantics because compiler inserted run-time checks, this is not the same …
22d ago·view thread
comment
I like using C. It is simple, elegant, has very fast compilation times, requires no FFI needed for many libraries, is extremely stable and extremely portable, a large ecosystem, and, most importantly,…
22d ago·view thread
comment
A: "Rust prefers to prevent all undefined behavior statically" me: It does dynamic bounds checking. Rustaceans: But... for XYZ ... it doesn't... Sigh.
22d ago·view thread
comment
Rust fails to prove basic indirection to be statically safe and instead does a run-time check. fn main() { let v = vec![1, 2, 3]; v[5]; }
22d ago·view thread
comment
Maybe? I think my statement is clearly correct in the way I formulated it.
22d ago·view thread
comment
He claims the system provides memory safety under data races. Does it not?
22d ago·view thread
comment
I read "Rust prefers to prevent all undefined behavior statically," to also imply that it actually does this, because otherwise the word "all" would not make sense to me in this se…
22d ago·view thread
comment
I merely pointed out that the statement "Rust prefers to prevent all undefined behavior statically" is misleading in the sense that Rust does not do this for all undefined behavior.
22d ago·view thread
comment
Rust can not do this. But the original claim is that it is all statically checked in Rust, and this is an obvious counter example. Some dependently types languages can prove this statically, also mode…
22d ago·view thread
comment
These are not terribly interesting cases though, as it would also be impossible to get an oob access in other languages either.
22d ago·view thread
comment
Arguably the most important memory safety property, i.e. bounds checking for dynamic arrays, is also not statically checked in Rust.
23d ago·view thread
comment
Via remote attestation.
27d ago·view thread
comment
The website / service you want to use will not accept your key, but only the key from the organization that makes sure that your software does not make it possible to skip the ads. So I think the…
28d ago·view thread