]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FSCORE-197 unprivileged user setting bigger stack for switch_system thread failure
authorMichael Jerris <mike@jerris.com>
Fri, 3 Oct 2008 21:30:04 +0000 (21:30 +0000)
committerMichael Jerris <mike@jerris.com>
Fri, 3 Oct 2008 21:30:04 +0000 (21:30 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9817 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_core.c

index 8675cd33b6bfef8474d2d072299ff870150559ff..6531804f730c02ed2543a0b87c5362e6cb99d87a 100644 (file)
@@ -758,7 +758,7 @@ SWITCH_DECLARE(void) switch_core_setrlimits(void)
 #ifndef __FreeBSD__
        memset(&rlp, 0, sizeof(rlp));
        rlp.rlim_cur = SWITCH_THREAD_STACKSIZE;
-       rlp.rlim_max = SWITCH_THREAD_STACKSIZE;
+       rlp.rlim_max = SWITCH_SYSTEM_THREAD_STACKSIZE;
        setrlimit(RLIMIT_STACK, &rlp);
 #endif
 
@@ -1512,7 +1512,9 @@ SWITCH_DECLARE(int) switch_system(const char *cmd, switch_bool_t wait)
 
        rlim.rlim_cur = SWITCH_SYSTEM_THREAD_STACKSIZE;
        rlim.rlim_max = SWITCH_SYSTEM_THREAD_STACKSIZE;
-       setrlimit(RLIMIT_STACK, &rlim);
+       if (setrlimit(RLIMIT_STACK, &rlim) < 0) {
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Setting stack size failed!\n");
+       }
 #endif
 
        if (switch_core_new_memory_pool(&pool) != SWITCH_STATUS_SUCCESS) {