1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
commit da49165ea6ca9a759229becc5e269594a80b0976
Author: Flavio Cruz <flaviocruz@gmail.com>
Date: Sun Feb 9 22:37:56 2025 -0500
mig_strncpy: ensure destination string is null terminated
Message-ID: <xaqw66fuawxm5hzgjscfg2oyp6lxflm5tnbb7u253pw3gmdy4m@5z42mw2qz2l2>
diff --git a/mach/mig_strncpy.c b/mach/mig_strncpy.c
index b0c001d775..dbd0a08e56 100644
--- a/mach/mig_strncpy.c
+++ b/mach/mig_strncpy.c
@@ -6,6 +6,14 @@
vm_size_t
__mig_strncpy (char *dst, const char *src, vm_size_t len)
{
- return __stpncpy (dst, src, len) - dst;
+ if (len == 0)
+ return 0;
+
+ char *end = __stpncpy (dst, src, len - 1);
+ vm_size_t ret = end - dst;
+ /* Null terminate the string. */
+ if (ret == len - 1)
+ *end = '\0';
+ return ret;
}
weak_alias (__mig_strncpy, mig_strncpy)
|