diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/data/valid-service-files/debug-echo.service.in | 2 | ||||
-rw-r--r-- | test/data/valid-service-files/debug-segfault.service.in | 4 | ||||
-rw-r--r-- | test/test-segfault.c | 11 |
3 files changed, 15 insertions, 2 deletions
diff --git a/test/data/valid-service-files/debug-echo.service.in b/test/data/valid-service-files/debug-echo.service.in index 62e79161..c22735a6 100644 --- a/test/data/valid-service-files/debug-echo.service.in +++ b/test/data/valid-service-files/debug-echo.service.in @@ -1,3 +1,3 @@ [D-BUS Service] Name=org.freedesktop.DBus.TestSuiteEchoService -Exec=@TEST_SERVICE_BINARY@
\ No newline at end of file +Exec=@TEST_SERVICE_BINARY@ diff --git a/test/data/valid-service-files/debug-segfault.service.in b/test/data/valid-service-files/debug-segfault.service.in new file mode 100644 index 00000000..73c7b55b --- /dev/null +++ b/test/data/valid-service-files/debug-segfault.service.in @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=org.freedesktop.DBus.TestSuiteSegfaultService +Exec=@TEST_SEGFAULT_BINARY@ + diff --git a/test/test-segfault.c b/test/test-segfault.c index 6c197823..dad0b589 100644 --- a/test/test-segfault.c +++ b/test/test-segfault.c @@ -1,13 +1,22 @@ /* This is simply a process that segfaults */ #include <signal.h> +#include <sys/resource.h> + int main (int argc, char **argv) { - char *p = 0; + char *p; + + struct rlimit r = { 0, }; + + getrlimit (RLIMIT_CORE, &r); + r.rlim_cur = 0; + setrlimit (RLIMIT_CORE, &r); raise (SIGSEGV); + p = 0; *p = 'a'; return 0; |