}
}
if (!cmd_len) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot execute a blank command");
+ php_error_docref(NULL, E_WARNING, "Cannot execute a blank command");
RETURN_FALSE;
}
+ if (strlen(cmd) != cmd_len) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "NULL byte detected. Possible attack");
+ RETURN_FALSE;
+ }
if (!ret_array) {
- ret = php_exec(mode, cmd, NULL, return_value TSRMLS_CC);
+ ret = php_exec(mode, cmd, NULL, return_value);
} else {
if (Z_TYPE_P(ret_array) != IS_ARRAY) {
zval_dtor(ret_array);