summaryrefslogtreecommitdiff
path: root/src/time/strftime.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/time/strftime.c
parentab3c589cd14c2b7efd79c89fd75ea35edcf9edff (diff)
check for overlapping pointers
Diffstat (limited to 'src/time/strftime.c')
-rw-r--r--src/time/strftime.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/time/strftime.c b/src/time/strftime.c
index 2ba09ecc..fe3017fc 100644
--- a/src/time/strftime.c
+++ b/src/time/strftime.c
@@ -1,6 +1,7 @@
#include <locale.h>
#include <stdio.h>
#include <time.h>
+#include <string.h>
#include "_safety.h"
#include "locale/_locale.h"
@@ -16,6 +17,9 @@ size_t strftime(char * restrict s, size_t maxsize, const char * restrict format,
ASSERT_NONNULL(s);
ASSERT_NONNULL(format);
ASSERT_NONNULL(timeptr);
+ ASSERT_NOOVERLAP(s, maxsize, format, strlen(format));
+ ASSERT_NOOVERLAP(s, maxsize, timeptr, sizeof(*timeptr));
+ ASSERT_NOOVERLAP(format, sizeof(format), timeptr, sizeof(*timeptr));
#ifdef _POSIX_SOURCE
tzset();