]> granicus.if.org Git - php/commitdiff
- Fixed bug #54283 (new DatePeriod(NULL) causes crash)
authorFelipe Pena <felipe@php.net>
Wed, 23 Mar 2011 01:22:18 +0000 (01:22 +0000)
committerFelipe Pena <felipe@php.net>
Wed, 23 Mar 2011 01:22:18 +0000 (01:22 +0000)
ext/date/php_date.c
ext/date/tests/bug54283.phpt [new file with mode: 0644]

index 56c6f8e976eb47ca6ee389ee68baa2ec8bff27ed..1930e88abd2645f51b69638ed7a0226c077daaa4 100644 (file)
@@ -3762,7 +3762,7 @@ PHP_METHOD(DatePeriod, __construct)
        dpobj = zend_object_store_get_object(getThis() TSRMLS_CC);
        dpobj->current = NULL;
 
-       if (isostr_len) {
+       if (isostr) {
                date_period_initialize(&(dpobj->start), &(dpobj->end), &(dpobj->interval), &recurrences, isostr, isostr_len TSRMLS_CC);
                if (dpobj->start == NULL) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "The ISO interval '%s' did not contain a start date.", isostr);
diff --git a/ext/date/tests/bug54283.phpt b/ext/date/tests/bug54283.phpt
new file mode 100644 (file)
index 0000000..780d0fa
--- /dev/null
@@ -0,0 +1,14 @@
+--TEST--
+Bug #54283 (new DatePeriod(NULL) causes crash)
+--FILE--
+<?php
+
+try {
+       var_dump(new DatePeriod(NULL));
+} catch (Exception $e) {
+       var_dump($e->getMessage());
+}
+
+?>
+--EXPECTF--
+string(51) "DatePeriod::__construct(): Unknown or bad format ()"