+ __chk_fail_overflow ();
+
+ // stpncpy normally returns a pointer to the \0
+ n = stpncpy (dest, src, len) - dest + 1;
+
+ // Check if it's pointing to the location after the buffer after not writing \0
+ if (n == len + 1)
+ n--;
+
+ if (__builtin_expect (__chk_assert_no_overlap != 0, 1))
+ __chk_overlap(dest, n, src, n);