diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-10-09 14:34:13 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-10-09 14:56:29 +0200 |
commit | d5eac12255b03d0da1c7509ca4b61c7ab7fdf290 (patch) | |
tree | d2e9215edd7646935ebe9578c89661cb20cbbb78 /testsuite/syscalls01 | |
parent | testsuite: Fix lo0 ifconfig error (diff) | |
download | rtems-libbsd-d5eac12255b03d0da1c7509ca4b61c7ab7fdf290.tar.bz2 |
SYSLOG(3): Replace implementation
Avoid potential buffer overflows on the stack. Expand the %m in the
format string.
Diffstat (limited to 'testsuite/syscalls01')
-rw-r--r-- | testsuite/syscalls01/test_main.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/syscalls01/test_main.c b/testsuite/syscalls01/test_main.c index 3f33e2b3..75691d35 100644 --- a/testsuite/syscalls01/test_main.c +++ b/testsuite/syscalls01/test_main.c @@ -50,6 +50,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <syslog.h> #define RTEMS_BSD_PROGRAM_NO_EXIT_WRAP #define RTEMS_BSD_PROGRAM_NO_PRINTF_WRAP @@ -1692,6 +1693,28 @@ test_err(void) } static void +test_syslog(void) +{ + puts("test syslog"); + + errno = 0; + syslog(LOG_ERR, "%m"); + syslog(LOG_ERR, "b%m"); + syslog(LOG_ERR, "%me"); + errno = ENXIO; + syslog(LOG_ERR, "<%m><%m><%m>"); + syslog(LOG_INFO, "%m%m%m%m%m%m%m%m%m%m%m%m%m%m"); + syslog(LOG_EMERG, "emerg"); + syslog(LOG_ALERT, "alert"); + syslog(LOG_CRIT, "crit"); + syslog(LOG_ERR, "err"); + syslog(LOG_WARNING, "warning"); + syslog(LOG_NOTICE, "notice"); + syslog(LOG_INFO, "info"); + syslog(LOG_DEBUG, "debug"); +} + +static void test_main(void) { /* Must be first test to ensure resource checks work */ @@ -1720,6 +1743,7 @@ test_main(void) test_bsd_program(); test_warn(); test_err(); + test_syslog(); exit(0); } |