diff options
author | Anatol Belski <ab@php.net> | 2016-02-02 14:19:10 +0100 |
---|---|---|
committer | Ferenc Kovacs <tyrael@php.net> | 2016-02-03 01:29:57 +0100 |
commit | a7470a28cbc166d445fb2e56d0f8f40bc4c8b6d2 (patch) | |
tree | 5d415dce41952a99298a8867653eee8f420c1372 | |
parent | 0945cfe94477517df3c9c6e6a618b99cde56269f (diff) | |
download | php-git-a7470a28cbc166d445fb2e56d0f8f40bc4c8b6d2.tar.gz |
add error check to sysconf call
-rw-r--r-- | ext/standard/exec.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/standard/exec.c b/ext/standard/exec.c index 59b979c1c1..38844393e7 100644 --- a/ext/standard/exec.c +++ b/ext/standard/exec.c @@ -50,6 +50,10 @@ #include <unistd.h> #endif +#if HAVE_LIMITS_H +#include <limits.h> +#endif + #ifdef PHP_WIN32 # include "win32/php_stdint.h" #else @@ -67,6 +71,13 @@ PHP_MINIT_FUNCTION(exec) { #ifdef _SC_ARG_MAX cmd_max_len = sysconf(_SC_ARG_MAX); + if (-1 == cmd_max_len) { +#ifdef _POSIX_ARG_MAX + cmd_max_len = _POSIX_ARG_MAX; +#else + cmd_max_len = 4096; +#endif + } #elif defined(ARG_MAX) cmd_max_len = ARG_MAX; #elif defined(PHP_WIN32) |