summaryrefslogtreecommitdiff
path: root/src/stdio/vfprintf.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-01-31 13:24:56 -0500
committerJakob Kaivo <jkk@ung.org>2024-01-31 13:24:56 -0500
commit4b43b375b7abae22070cd86bfc26a8222233150e (patch)
tree6ff165b17879e80300cb6d05b5537a65c82c2dc7 /src/stdio/vfprintf.c
parentab3c589cd14c2b7efd79c89fd75ea35edcf9edff (diff)
check for overlapping pointers
Diffstat (limited to 'src/stdio/vfprintf.c')
-rw-r--r--src/stdio/vfprintf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c
index 0e3f9557..91de900d 100644
--- a/src/stdio/vfprintf.c
+++ b/src/stdio/vfprintf.c
@@ -1,5 +1,6 @@
#include <stdarg.h>
#include <stdio.h>
+#include <string.h>
#include "_stdio.h"
/** write formatted output to a file stream **/
@@ -8,7 +9,10 @@ int vfprintf(FILE * restrict stream, const char * restrict format, va_list arg)
{
int ret = 0;
struct io_options opt = {0};
+
SIGNAL_SAFE(0);
+ ASSERT_NOOVERLAP(stream, sizeof(stream), format, strlen(format));
+
opt.fnname = "vfprintf";
opt.stream = stream;
ret = __printf(&opt, format, arg);