#include "php.h"
#include "php_globals.h"
#include "ext/standard/flock_compat.h"
+#include "ext/standard/exec.h"
#include <stdio.h>
#include <stdlib.h>
{
pval **arg1, **arg2;
FILE *fp;
- char *p;
+ char *p,*tmp = NULL;
char *b, buf[1024];
PLS_FETCH();
} else {
snprintf(buf,sizeof(buf),"%s/%s",PG(safe_mode_exec_dir),(*arg1)->value.str.val);
}
- fp = popen(buf,p);
+
+ tmp = php_escape_shell_cmd(buf);
+ fp = popen(tmp,p);
+ efree(tmp);
+
if (!fp) {
php_error(E_WARNING,"popen(\"%s\",\"%s\") - %s",buf,p,strerror(errno));
RETURN_FALSE;