summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile2
-rw-r--r--tests/test_sprintf.c8
-rw-r--r--tests/test_sprintf_62.c21
3 files changed, 31 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile
index d29a87d..333f088 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -96,6 +96,8 @@ RUNTIME_TARGETS= \
96 test_send_static \ 96 test_send_static \
97 test_sendto_dynamic \ 97 test_sendto_dynamic \
98 test_sendto_static \ 98 test_sendto_static \
99 test_sprintf \
100 test_sprintf_62 \
99 test_stpcpy_dynamic_write \ 101 test_stpcpy_dynamic_write \
100 test_stpcpy_overwrite_over \ 102 test_stpcpy_overwrite_over \
101 test_stpcpy_overwrite_under \ 103 test_stpcpy_overwrite_under \
diff --git a/tests/test_sprintf.c b/tests/test_sprintf.c
new file mode 100644
index 0000000..edde838
--- /dev/null
+++ b/tests/test_sprintf.c
@@ -0,0 +1,8 @@
1#include "common.h"
2
3#include <stdio.h>
4
5int main(int argc, char** argv) {
6 char buffer[12] = {0};
7 sprintf(buffer, "%s", "1234567");
8}
diff --git a/tests/test_sprintf_62.c b/tests/test_sprintf_62.c
new file mode 100644
index 0000000..3a84a1f
--- /dev/null
+++ b/tests/test_sprintf_62.c
@@ -0,0 +1,21 @@
1#include "common.h"
2
3#include <stdio.h>
4
5static char *offstr(char *str)
6{
7 int len = 0;
8
9 len = sprintf(str, "%s+0x%lx", "foo", (long unsigned int)0);
10 sprintf(str+len, " (%s+0x%lx)","bar", (long unsigned int)0);
11 if (len < 0)
12 return NULL;
13 return str;
14}
15
16int main() {
17 char buf[100];
18 char *c = offstr(buf);
19 printf("%s\n", c);
20 return 0;
21}