On Friday, 8 September 2023 at 09:07:12 UTC, evilrat wrote:

Hard to tell from that code but it is quite unlikely there is a compiler bug in such simple use case.

I assume you already tried debugging your program, right?

Yep! I have spent days and it's these kinds of bugs that burn me off and make me want to give up.

So how about to diagnose a bit more, what if you enforce check before malloc that size>0,

In the real code, there is a check! I just removed it from this example to make the code more clear.

and second - from that example it is unclear how you are using that struct, so maybe add else statement static assert to see if it is misused somewhere else in your codebase?

That's interesting, I wasn't able to find something else! The bug happens when I run the testing suit and well... the tests before pass so I cannot find anything that goes wrong except for the fact that I do not free the memory that is allocated (on purpose).

But still, why would the bug be there when I assign the `_ptr` on the field and it won't happen if I don't assign it and just use a regular local variable instead (and don't assign anything to the `_ptr` field)?

Also this example doesn't have len field, depending on how you use with regard to cap this could be a source of problems too.

Oh right, I forgot about that! The `_len` field normally exists and it's it's also an unsigned 64-bit (u64) number! Yeah, the code is a little bit changed from the original to make it more simple for you guys...
  • malloc error whe... rempas via Digitalmars-d-learn
    • Re: malloc ... evilrat via Digitalmars-d-learn
      • Re: mal... rempas via Digitalmars-d-learn
        • Re:... evilrat via Digitalmars-d-learn
          • ... rempas via Digitalmars-d-learn
            • ... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
              • ... rempas via Digitalmars-d-learn
                • ... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
                • ... rempas via Digitalmars-d-learn
              • ... ryuukk_ via Digitalmars-d-learn
            • ... Kagamin via Digitalmars-d-learn
              • ... rempas via Digitalmars-d-learn
    • Re: malloc ... Hipreme via Digitalmars-d-learn

Reply via email to