summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>1999-10-18 17:46:33 +0000
committerThies C. Arntzen <thies@php.net>1999-10-18 17:46:33 +0000
commit4f013f8e2dd9556d24e73ec23780ba37e25a0a06 (patch)
treed6796ed3032e38d7dadce1b535385d3e46c4e539 /ext
parentcf1134787aac10d7d65eeed0470e0886ef85d521 (diff)
downloadphp-git-4f013f8e2dd9556d24e73ec23780ba37e25a0a06.tar.gz
@- unserialize() now gives a notice when passed invalid data. (Thies)
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/var.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 6f82505b2f..abcf81f06a 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -487,11 +487,16 @@ PHP_FUNCTION(unserialize)
}
if ((*buf)->type == IS_STRING) {
const char *p = (*buf)->value.str.val;
+ const char *q;
+
+ q = p;
if (!php_var_unserialize(&return_value, &p, p + (*buf)->value.str.len)) {
+ php_error(E_NOTICE, "unserialize() failed at offset %d",p-q);
RETURN_FALSE;
}
} else {
+ php_error(E_NOTICE, "argument passed to unserialize() is not an string");
RETURN_FALSE;
}
}