Hacker News new | past | comments | ask | show | jobs | submit login

The problem arises because doing a signed comparison is just fine, but when you call malloc it gets converted to an unsigned integer and allocated.

Meaning -1, which passes the signed check fine, becomes 0xFFFFFFFF as a 32 bit unsigned integer...

Now, theoretically a well configured compiler that complains about one would also complain about the other, catching the signed value going to malloc as a warning.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: