No, passing SIZE_MAX does not violate any precondition of strncat(), because preconditions are fixed properties chosen in advance, not something you add retrospectively when you feel like it.<p>The C standard does not place any upper bound on the value of strncat()&#x27;s size argument, so an strncat implementation has to work as described for all large values of the argument. It&#x27;s a bug of the implementation if it doesn&#x27;t, not a violated precondition.<p>(Reasoning about C programs has been my day job for several years. Contrary to what many think, it is possible, it only needs that the rules be set in advance and respected.)