Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2489

T

TrustInSoft

Company blog · trust-in-soft.comsecurityprogramming

TrustInSoft is the company blog at trust-in-soft.com, writing about security and programming. Since 2014, 30 different Hacker News readers have linked it 59 times, most often “GCC always assumes aligned pointer accesses”. No feed was found, so read it on the site itself.

No feed foundVisit the blog
59mentions?
30HN people?
2014–2025first – last linked?
Links on Hacker News per year · peak 9 in 2016

TrustInSoft’s advanced exhaustive static analysis tools and services help secure C/C++/ Rust code. Mathematically prove software safety and cybersecurity with this source code analyzer.

Most-linked posts?

  1. /
    3 people · 10 mentions · first linked 2019-02-12
  2. /polarSSL_demo.pdf
    3 people · 3 mentions · first linked 2015-09-06
  3. GCC always assumes aligned pointer accesses
    3 people · 3 mentions · first linked 2020-04-06
  4. A dangling pointer is indeterminate
    3 people · 3 mentions · first linked 2015-04-21
  5. Detecting Strict Aliasing Violations in the Wild [pdf]
    3 people · 3 mentions · first linked 2017-02-14
  6. /industries/rail/
    2 people · 2 mentions · first linked 2018-07-12
  7. Ways C compilers break for objects larger than PTRDIFF_MAX bytes
    2 people · 2 mentions · first linked 2019-08-02
  8. A C SSL implementation without buffer overflows
    2 people · 2 mentions · first linked 2014-04-09
  9. /products/
    2 people · 2 mentions · first linked 2017-03-28
  10. /tis-interpreter/
    2 people · 2 mentions · first linked 2015-06-22

What Hacker News says?

  1. ownme.ipredator.se http://trust-in-soft.com/polarSSL_demo.pdf

    Comment linking /polarSSL_demo.pdf

    on “How to C in 2016”
  2. Submitted Ways C compilers break for objects larger than PTRDIFF_MAX bytes as a story · 74 points

    HN discussion
  3. > Here is the URL of the blog post that I had to write in preparation for the upcoming blog post about getting ourselves a Friendly C Compiler: https://trust-in-soft.com/blog/2020/04/06/gcc-always-assumes... . . I recommend you take a look, I think it is interesting in itself. So, it's definitely interesting -- I think a lot of odd stuff you can do should probably be undefined. Eliminating pointer accesses after a n…

    Comment linking /blog/2020/04/06/gcc-always-assumes..

    on “Tell HN: C Experts Panel – Ask us anything about C”
  4. Submitted GCC always assumes aligned pointer accesses as a story · 66 points

    HN discussion
  5. I still want to write at least one sequel to that post, on the theme “Alright, can we make a Friendly C Compiler by disabling the annoying optimizations, then?”. Obviously the people who want a Friendly C Compiler do not want to disable all optimizations. This would be easy to do, but these users do not want the stupid 1+2+16 expressions in their C programs, generated through macro-expansion, to be compiled to two a…

    Comment linking /blog/2020/04/06/gcc-always-assumes-aligned-pointers/

    on “Tell HN: C Experts Panel – Ask us anything about C”
  6. Submitted Memcmp requires pointers to fully valid buffers as a story · 19 points

    HN discussion
  7. Yes and no. The thing I am describing is when you link a compilation unit using: struct internal_state { int dummy; } state; with another compilation unit that defined the same state differently: struct internal_state { int actual_meaningful_member_1; unsigned long actual_meaningful_member_2; } state; As far as I know, BSD socked do not do this. Zlib was doing this ( https://github.com/pascal-cuoq/zlib-fork/blob/a52…

    Comment linking /wp-content/uploads/2017/01/vmcai.pdf

    on “Tell HN: C Experts Panel – Ask us anything about C”
  8. Submitted Handling security bugs is not the open-source community’s strong point as a story · 5 points

    HN discussion
  9. It is possible to guarantee that a C program does not have any undefined behavior, which includes all the memory errors that are often also security vulnerabilities. “Static analysis” may be the wrong name to classify the tools that work in that area, because “static analysis” is usually used for purely automatic tools, whereas the tools used to guarantee the absence of undefined behaviors are not entirely automatic…

    Comment linking /polarSSL_demo.pdf

    on “Tell HN: C Experts Panel – Ask us anything about C”
  10. Submitted Printing a null pointer with %s is undefined behavior as a story · 3 points

    HN discussion
  11. Even there it depends. 'Programming practices' is vague. Even C can be tamed, at great expense, using formal methods techniques. [0][1][2][3] Adoption of such methods can give a solid assurance of the lack of UB, like use of a safe language. Weaker measures, like adopting MISRA C, don't provide such strong assurances (although they can eliminate certain categories of errors), and as you indicate, their real value is…

    Comment linking /

    on “Linux Hardening Guide”
  12. Submitted How do you report bugs that you alone can see? as a story · 3 points

    HN discussion
  13. Since I have it at hand, here is a list of examples of how compilers are broken if an array is larger than SIZE_MAX / 2 (which is called PTRDIFF_MAX in the post): http://trust-in-soft.com/objects-larger-than-ptrdiff_max-byt...

    Comment linking /objects-larger-than-ptrdiff_max-bytes/

    on “How to find size of an array in C without sizeof”
  14. Submitted Out-of-bounds pointers: a common pattern and how to avoid it as a story · 3 points

    HN discussion
  15. They don't, but others do. Sound static analysis tools like TrustInSoft ( https://trust-in-soft.com/ ) guarantee no undefined behavior (array overflow, use-after-free etc.).

    Comment linking /

    on “Announcing Rust 1.36.0”
  16. Submitted Tis-interpreter detects subtle bugs in C programs as a story · 3 points

    HN discussion
  17. > we don’t know how to create a simpler memory safe low-level language. This may well be true, but using a memory-safe language is never, ever the goal. The goal is creating correct and secure programs -- that have as few bugs and security flaws as possible/required -- as cheaply as possible. While a memory safe language in the style of Rust is one means toward that end, that eliminates an important class of bugs at…

    Comment linking /

    on “Why Not Rust?”
  18. Submitted A dangling pointer is indeterminate as a story · 3 points

    HN discussion
  19. Right, Frama-C can formally prove properties of C code. There are also proprietary solutions that do something similar: • https://www.eschertech.com/products/ecv.php • https://www.trust-in-soft.com/

    Comment linking /

    on “Nvidia Security Team: “What if we just stopped using C?” (2022)”
  20. Submitted A C SSL implementation without buffer overflows as a story · 3 points

    HN discussion
  21. It's also possible to formally verify C++, [0][1] but this isn't commonly done. I imagine it's very labour intensive. [0] https://www.eschertech.com/products/ecv.php [1] https://trust-in-soft.com/

    Comment linking /

    on “Why Zig when there is already C++, D, and Rust?”
  22. Submitted Outlining the language C programs should be written in as a story · 2 points

    HN discussion
  23. Also https://trust-in-soft.com/

    Comment linking /

    on “The memory safety problem isn't bad coders”
  24. Submitted Memcmp requires pointers to fully valid buffers as a story · 2 points

    HN discussion
  25. In the really simple cases (like accessing a float as a long, or similar), you're right. The problem is the interpretation that's been applied to aggregate types: struct a { int variant; }; struct b { int variant; long data; }; I have a pointer to a struct b - can I cast it to a pointer to struct a and still dereference 'variant'? It has the correct type and is guaranteed to live at the start of the struct in both c…

    Comment linking /wp-content/uploads/2017/01/vmcai.pdf

    on “I Do Not Know C: Short quiz on undefined behavior (2015)”
  26. Submitted Detecting Strict Aliasing Violations in the Wild [pdf] as a story · 2 points

    HN discussion
  27. You're right that you can't define a safe subset of C without making it impractical. MISRA C defines a C subset intended to help avoid C's footguns, but it still isn't actually a safe language. There are alternative approaches though: 1. Compile a safe language to C (whether a new language or an existing one) 2. Formal analysis of C, or of some practical subset of C, to prove the absence of undefined behaviour Work…

    Comment linking /

    on “ISO C became unusable for operating systems development”
  28. Submitted A dangling pointer is indeterminate (2014) as a story · 1 points

    HN discussion
  29. You might be interested in tis-interpreter: http://trust-in-soft.com/tis-interpreter/ It can’t prove a program is 100% conformant, but it can detect a much broader range of undefined behaviors than regular compilers, and does other things more strictly (like, IIRC, limiting the declarations exposed by standard library includes to what the standards guarantees they expose).

    Comment linking /tis-interpreter/

    on “An ode to pack: gzip’s forgotten decompressor”
  30. Submitted GCC always assumes aligned pointer accesses as a story · 1 points

    HN discussion

Search all of HN for trust-in-soft.com

Linked by the same people?