32 #include "safeclib_private.h" 33 #include "safe_str_constraint.h" 34 #include "safe_str_lib.h" 82 const char *overlap_bumper;
96 if (dmax > RSIZE_MAX_STR) {
104 while (dmax) { *dest =
'\0'; dmax--; dest++; }
113 while (dmax) { *dest =
'\0'; dmax--; dest++; }
122 while (dmax) { *dest =
'\0'; dmax--; dest++; }
135 overlap_bumper = src;
137 while (dmax > 0 && *src) {
139 if (dest == overlap_bumper) {
144 while (dmax) { *dest =
'\0'; dmax--; dest++; }
147 "strcpyfldin_s: overlapping objects",
157 overlap_bumper = dest;
159 while (dmax > 0 && *src) {
161 if (src == overlap_bumper) {
166 while (dmax) { *dest =
'\0'; dmax--; dest++; }
169 "strcpyfldin_s: overlapping objects",
182 while (dmax) { *dest =
'\0'; dmax--; dest++; }
errno_t strcpyfldin_s(char *dest, rsize_t dmax, const char *src, rsize_t slen)
The strcpyfldin_s function copies at most slen characters from the null terminated string pointed to ...
void invoke_safe_str_constraint_handler(const char *msg, void *ptr, errno_t error)
Invokes the currently set constraint handler or the default.