cmeerw

joined 2 years ago
[–] cmeerw 2 points 5 days ago

I see a lot of spam coming from sendgrid, so I wonder how long they can continue operating that way until they get blocked completely by one of the larger mailbox providers.

 

The most important security benefit of software memory safety is easy to state: for C and C++ software, attackers can exploit most bugs and vulnerabilities to gain full, unfettered control of software behavior, whereas this is not true for most bugs in memory-safe software—just a few

 

This is a status update on improvements currently in progress for hardening and securing our C++ software.

 

For the big brain 10,000 meter view, defer ⸺ and the forthcoming TS 25755 ⸺ is a general-purpose block/scope-based “undo” mechanism that allows you to ensure that no matter what happens a set of behavior (statements) are run.

 

Bjarne Stroustrup, creator of C++, has issued a call for the C++ community to defend the programming language, which has been shunned by cybersecurity agencies and technical experts in recent years for its memory safety shortcomings.

9
Emacs 30.1 released (lists.gnu.org)
submitted 1 month ago by cmeerw to c/emacs
 

Emacs 30.1 includes security fixes for a shell injection vulnerability in man.el (CVE-2025-1244), and for arbitrary code execution with flymake (CVE-2024-53920). We recommend upgrading immediately.

 

There's no perhaps about the FBI and CISA getting snippy at buffer overflows. These people worry about exploits that threaten car-crash incidents in enterprise IT, and they've seen enough to get angry. It's not that making mistakes is a crime when writing code. No human endeavor worth doing is without error. It's more that this class of bug is avoidable, and has been for decades, yet it pours out of big tech like woodworm from a church pew. Enough already, they say. They are right.

[–] cmeerw 2 points 1 month ago (1 children)

see https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3471r2.html#enabling-hardening

Much like a freestanding implementation, the way to request a hardened implementation is left for the implementation to define. For example, similarly to -ffreestanding, we expect that most toolchains would provide a compiler flag like -fhardened, but other alternatives like a -D_LIBCPP_HARDENING_MODE= macro would also be conforming.

 

On Saturday, the ISO C++ committee completed the second-last design meeting of C++26, held in Hagenberg, Austria. There is just one meeting left before the C++26 feature set is finalized in June 2025 and draft C++26 is sent out for its international comment ballot (aka “Committee Draft” or “CD”), and C++26 is on track to be technically finalized two more meetings after that in early 2026.

 

It is now 45+ years since C++ was first conceived. As planned, it evolved to meet challenges, but many developers use C++ as if it was still the previous millennium. This is suboptimal from the perspective of ease of expressing ideas, performance, reliability, and maintainability. Here, I present the key concepts on which performant, type safe, and flexible C++ software can be built: resource management, life-time management, error-handling, modularity, and generic programming. At the end, I present ways to ensure that code is contemporary, rather than relying on outdated, unsafe, and hard-to-maintain techniques: guidelines and profiles.

[–] cmeerw 3 points 2 months ago

I wonder if it would be possible to build such a tool on top of tree-sitter (although not sure tree-sitter's C++ grammar can handle modules yet)

 

With P2900, we propose to add contract assertions to the C++ language. This proposal is in the final stages of wording review before being included in the draft Standard for C++26.

[–] cmeerw 9 points 3 months ago (1 children)

Isn't that mainly just torrent trackers that publish your IP address and then the ISP gets a request for who was using that particular IP address. I don't think an ISP would itself be interested in detecting whether their customers download illegal content - there is no business case for them to do that.

5
C++ Working Draft Search (wg21.cmeerw.net)
submitted 3 months ago by cmeerw to c/cpp
 

Full-text search engine for the C++ Working Draft (and older versions from Tim Song's repository)

[–] cmeerw 15 points 8 months ago

at least you could keep their reviews so users could at least know if the app can be trusted.

You mean, don't trust a flatpak uploaded by a random person, but if there are enough fake reviews, it can be trusted?

[–] cmeerw 2 points 8 months ago

No mention of Reflection which was passed to the Core Working Group for wording review, or senders/receivers (on the library side) which was actually voted into the working paper.

[–] cmeerw 2 points 8 months ago

Huh? There is no such alternation between new features and feature freeze releases. In fact, C++26 will very likely get reflection as a major new feature. In comparison, the biggest core language feature in C++23 was probably "deducting this (explicit object member functions)".

The only thing that keeps Contracts out of C++26 is that they might not be finished in time (they'll need to be handed over from Evolution to Core by the February 2025 meeting, and then make it through Core review during the summer 2025 meeting).

[–] cmeerw 1 points 8 months ago

... except when ISO delays publication of the standard.

[–] cmeerw 1 points 9 months ago

Can anyone explain why there is such a huge difference in some of the benchmarks: Poll, Forking, CPU Cache, Semaphores, Socket Activity, Context Switching (all Stress-NG). Can we really trust these tests?

[–] cmeerw 2 points 11 months ago (1 children)

Depends on what semantic you want. Sure, if you use a unique_ptr member, you will get a deleted copy constructor/operator - I wouldn't consider that blowing up in my face.

[–] cmeerw 9 points 11 months ago (4 children)

And even the presented fix hurts my eyes. Should have used a unique_ptr or optional.

[–] cmeerw 1 points 11 months ago

Yes, it's not Open Source, but I am not sure that's really relevant here. I see it more as a prototype implementation for something that could be standardised for C++.

view more: next ›