summaryrefslogtreecommitdiff
path: root/ext/posix/posix.c
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2005-11-02 15:53:49 +0000
committerDerick Rethans <derick@php.net>2005-11-02 15:53:49 +0000
commit703fc059bf49c0183c3c4a5bc6ab31c9e4f8a93e (patch)
treeaa70fd87bcf90eb38418be520e51127f31ea2800 /ext/posix/posix.c
parent496fd1c0414b7cf736304f0a3cccb2e685b70b87 (diff)
downloadphp-git-703fc059bf49c0183c3c4a5bc6ab31c9e4f8a93e.tar.gz
- MFH: Fixed initializing and argument checking for posix_mknod().
Diffstat (limited to 'ext/posix/posix.c')
-rw-r--r--ext/posix/posix.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/posix/posix.c b/ext/posix/posix.c
index 26b76cc4bf..890609e565 100644
--- a/ext/posix/posix.c
+++ b/ext/posix/posix.c
@@ -676,7 +676,7 @@ PHP_FUNCTION(posix_mknod)
char *path;
int path_len;
long mode;
- long major, minor = 0;
+ long major = 0, minor = 0;
int result;
dev_t php_dev;
@@ -693,9 +693,13 @@ PHP_FUNCTION(posix_mknod)
}
if ((mode & S_IFCHR) || (mode & S_IFBLK)) {
+ if (ZEND_NUM_ARGS() == 2) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "For S_IFCHR and S_IFBLK you need to pass a major device kernel identifier");
+ RETURN_FALSE;
+ }
if (major == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
- "expects argument 4 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK");
+ "Expects argument 3 to be non-zero for POSIX_S_IFCHR and POSIX_S_IFBLK");
RETURN_FALSE;
} else {
#if defined(HAVE_MAKEDEV) || defined(makedev)