What is the defined behavior in C for UINT_MAX + 1u? How safe is to assume it is zero?
UINT_MAX + 1u
Should be safe:
Wiki on unsigned overflow
Note the unsigned int overflow is well defined.
Also, here's a whole question on this.