...
There are two notable differences between the compliant solution and the secure versions from Annex K. First, the Annex K versions use rsize_t
instead of size_t
, which allows the size to be compared against the reasonable limit for a single object, RSIZE_MAX
. Second, the Annex K versions do not require an element count for the second array. Consequently, these functions have limited ability to validate the input for s2
. However, a size value for s1
is required, so memory outside of the range for s1
should not be overwritten.
Exceptions
API02-C-EX1: Functions that can guarantee via their runtime-constraint handlers that no out-of-bounds read or write occurs may omit the maximum-elements argument. For instance, the s2
parameter to strcat_s()
needs no max
parameter.
...