BatmanAoD

joined 2 years ago
[–] BatmanAoD@programming.dev -1 points 2 days ago* (last edited 1 day ago)

Probably moreso for expressing the opinion so strongly without actually knowing any of the three languages.

Edit: I'm just guessing why a different comment got downvotes. Why am I getting downvotes?

[–] BatmanAoD@programming.dev 4 points 3 days ago (1 children)

Doesn't the first edition use K&R style parameter lists and other no-longer-correct syntax?

[–] BatmanAoD@programming.dev 1 points 1 week ago (1 children)

I think generally C compilers prefer to keep the stack intact for debugging and such.

[–] BatmanAoD@programming.dev 1 points 1 week ago (3 children)

Okay, yeah, I was indeed reading your original reply as a criticism of one of the people involved (presumably the security researcher), rather than as a criticism of the post title. Sorry for misunderstanding.

Apparently GCC does indeed do tail-call optimization at -O2: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-foptimize-sibling-calls

But in that case, I'm not sure why the solution to the denial of service vulnerability isn't just "compile with -foptimize-sibling-calls."

[–] BatmanAoD@programming.dev 2 points 2 weeks ago (5 children)

...what is your point? Some software (in a language that doesn't have tail-recursion optimization) used recursion to handle user-provided input, and indeed it broke. Someone wrote to explain that that's a potential vulnerability, the author agreed, and fixed it. Who here is misunderstanding how computers implement recursion?

1
submitted 2 months ago* (last edited 2 months ago) by BatmanAoD@programming.dev to c/programmer_humor@programming.dev