diff options
author | Matt Johnston <matt@ucc.asn.au> | 2007-02-12 10:43:44 +0000 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2007-02-12 10:43:44 +0000 |
commit | d1dd099c8af6f5a456be34bad3aa72e92b9fa4cf (patch) | |
tree | da49dbb5b08eccf32e78840a3756e5614b79e4f2 | |
parent | a8aaafdb205f04860207ca93a176d153798b30f1 (diff) | |
download | dropbear-d1dd099c8af6f5a456be34bad3aa72e92b9fa4cf.tar.gz |
Disable core dumps
-rw-r--r-- | cli-main.c | 2 | ||||
-rw-r--r-- | dbutil.c | 6 | ||||
-rw-r--r-- | dbutil.h | 1 | ||||
-rw-r--r-- | includes.h | 1 | ||||
-rw-r--r-- | svr-main.c | 2 |
5 files changed, 12 insertions, 0 deletions
@@ -47,6 +47,8 @@ int main(int argc, char ** argv) { _dropbear_exit = cli_dropbear_exit; _dropbear_log = cli_dropbear_log; + disallow_core(); + cli_getopts(argc, argv); TRACE(("user='%s' host='%s' port='%s'", cli_opts.username, @@ -693,3 +693,9 @@ void setnonblocking(int fd) { } TRACE(("leave setnonblocking")) } + +void disallow_core() { + struct rlimit lim; + lim.rlim_cur = lim.rlim_max = 0; + setrlimit(RLIMIT_CORE, &lim); +} @@ -63,6 +63,7 @@ void * m_realloc(void* ptr, size_t size); void __m_free(void* ptr); void m_burn(void* data, unsigned int len); void setnonblocking(int fd); +void disallow_core(); /* Used to force mp_ints to be initialised */ #define DEF_MP_INT(X) mp_int X = {0, 0, 0, NULL} @@ -38,6 +38,7 @@ #include <sys/time.h> #include <sys/un.h> #include <sys/wait.h> +#include <sys/resource.h> #include <stdio.h> #include <errno.h> @@ -52,6 +52,8 @@ int main(int argc, char ** argv) _dropbear_exit = svr_dropbear_exit; _dropbear_log = svr_dropbear_log; + disallow_core(); + /* get commandline options */ svr_getopts(argc, argv); |