this post was submitted on 26 Feb 2024
267 points (96.5% liked)
Programming
17432 readers
220 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Wasn't Go designed to be a memory safe systems programming language? I haven't really used it enough to see if it holds true, though.
Go is almost memory safe, but it does suffer from an issue with its thick pointers (type + address) that can cause race conditions to misrepresent the type of a data structure. This can lead to true segmentation faults and out of bound memory accesses, though it will probably be quite difficult (but not impossible) to exploit them.
Segfaults aren't particularly dangerous. They mean the problem was caught. The program usually just exits.
Failing to segfault, thereby allowing a bad memory access, is where the real trouble happens.
No, if you try to index something out-of-bounds it will panic, which is not a memory-safety gap.