Loading...
include/secure/_stdio.h Libc-997.90.3 Libc-1698.140.3
--- Libc/Libc-997.90.3/include/secure/_stdio.h
+++ Libc/Libc-1698.140.3/include/secure/_stdio.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2010 Apple Inc. All rights reserved.
+ * Copyright (c) 2007, 2010, 2023 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  *
@@ -28,7 +28,10 @@
 #ifndef _SECURE__STDIO_H_
 #define _SECURE__STDIO_H_
 
+#include <_bounds.h>
 #include <secure/_common.h>
+
+_LIBC_SINGLE_BY_DEFAULT()
 
 #if _USE_FORTIFY_LEVEL > 0
 
@@ -37,19 +40,21 @@
 #define __has_builtin(x) 0
 #endif
 
+#ifndef UNIFDEF_DRIVERKIT
 /* sprintf, vsprintf, snprintf, vsnprintf */
 #if __has_builtin(__builtin___sprintf_chk) || defined(__GNUC__)
-extern int __sprintf_chk (char * __restrict, int, size_t,
+extern int __sprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
 			  const char * __restrict, ...);
 
 #undef sprintf
 #define sprintf(str, ...) \
   __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
 #endif
+#endif /* UNIFDEF_DRIVERKIT */
 
 #if __DARWIN_C_LEVEL >= 200112L
 #if __has_builtin(__builtin___snprintf_chk) || defined(__GNUC__)
-extern int __snprintf_chk (char * __restrict, size_t, int, size_t,
+extern int __snprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
 			   const char * __restrict, ...);
 
 #undef snprintf
@@ -57,17 +62,19 @@
   __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__)
 #endif
 
+#ifndef UNIFDEF_DRIVERKIT
 #if __has_builtin(__builtin___vsprintf_chk) || defined(__GNUC__)
-extern int __vsprintf_chk (char * __restrict, int, size_t,
+extern int __vsprintf_chk (char * __restrict _LIBC_UNSAFE_INDEXABLE, int, size_t,
 			   const char * __restrict, va_list);
 
 #undef vsprintf
 #define vsprintf(str, format, ap) \
   __builtin___vsprintf_chk (str, 0, __darwin_obsz(str), format, ap)
 #endif
+#endif /* UNIFDEF_DRIVERKIT */
 
 #if __has_builtin(__builtin___vsnprintf_chk) || defined(__GNUC__)
-extern int __vsnprintf_chk (char * __restrict, size_t, int, size_t,
+extern int __vsnprintf_chk (char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, int, size_t,
 			    const char * __restrict, va_list);
 
 #undef vsnprintf