• pryre@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      I think the other takeaway here is that it was found in a section marked “unsafe”. At the very least, that’s a useful tool for the Devs to isolate potential problem areas. Comparing that to a pure C codebase where the problem could be anywhere.

    • BassTurd@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      6 months ago

      Boone? There are plenty of fan boys out there that are selling rust like AI, or in other words snake oil.

      Rust obviously has built in securities that C doesn’t have, but a shitty coder is a shitty coder and bad QC is bad QC. Now we’re seeing the reality of the consequences.

      Rust and/or other memory safe® languages are like the future, but hopefully more people are now seeing the cracks. Just look at cloudflare for a prime example.

    • Technus@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      Because Rust lets you choose when something is unsafe vs writing all unsafe in code all the time:

      Note the other 159 kernel CVEs issued today for fixes in the C portion of the codebase

            • sem@piefed.blahaj.zone
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              6 months ago

              Rust by default will not allow you to make certain kinds of errora, which is great. But if you are doing something advanced, down at the hardware level [see below], you might need to disable those defaults in order to write the code you need. This is what people mean by “unsafe” – lacking the normal memory safeguards.

              With careful coding, “unsafe rust” or normal C, for that matter, can be free of bugs and safe. But if programmers make a mistake, vulnerabilities can creep in more easily in the unsafe sections.

              Is that basically it?

              • CandleTiger@programming.dev
                link
                fedilink
                English
                arrow-up
                0
                ·
                6 months ago

                But if you are doing something advanced, down at the hardware level

                This part is wrong. Otherwise yes correct.

                The “unsafe” code in rust is allowed to access memory locations in ways that skip the compiler’s check and guarantee that that memory location has valid data. They programmer is on their own to ensure that.

                Which as you say is just the normal state of affairs for all C code.

                This is needed not because of hardware access but just because sometimes the proof that the access is safe is beyond what the compiler is able to represent.

                • sem@piefed.blahaj.zone
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  6 months ago

                  Thank you for the correction, I’ll edit my comment.

                  sometimes the proof that the access is

                  safe is bevond what the compiler is able to represent

                  Could you say a few more words about this? In what situations do you have to write ‘unsafe-tagged’ code blocks? Could this be changed by improvements to the compiler? Or is it necessitated by the type of task being done by the code?