summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-5.4.19-date.patch47
-rw-r--r--php54.spec13
2 files changed, 58 insertions, 2 deletions
diff --git a/php-5.4.19-date.patch b/php-5.4.19-date.patch
new file mode 100644
index 0000000..6b97cd3
--- /dev/null
+++ b/php-5.4.19-date.patch
@@ -0,0 +1,47 @@
+diff --git a/ext/date/php_date.c b/ext/date/php_date.c
+index 1c97781..70960b1 100644
+--- a/ext/date/php_date.c
++++ b/ext/date/php_date.c
+@@ -2113,13 +2113,13 @@ static HashTable *date_object_get_properties(zval *object TSRMLS_DC)
+ /* first we add the date and time in ISO format */
+ MAKE_STD_ZVAL(zv);
+ ZVAL_STRING(zv, date_format("Y-m-d H:i:s", 12, dateobj->time, 1), 0);
+- zend_hash_update(props, "date", 5, &zv, sizeof(zval), NULL);
++ zend_hash_update(props, "date", 5, &zv, sizeof(zv), NULL);
+
+ /* then we add the timezone name (or similar) */
+ if (dateobj->time->is_localtime) {
+ MAKE_STD_ZVAL(zv);
+ ZVAL_LONG(zv, dateobj->time->zone_type);
+- zend_hash_update(props, "timezone_type", 14, &zv, sizeof(zval), NULL);
++ zend_hash_update(props, "timezone_type", 14, &zv, sizeof(zv), NULL);
+
+ MAKE_STD_ZVAL(zv);
+ switch (dateobj->time->zone_type) {
+@@ -2142,7 +2142,7 @@ static HashTable *date_object_get_properties(zval *object TSRMLS_DC)
+ ZVAL_STRING(zv, dateobj->time->tz_abbr, 1);
+ break;
+ }
+- zend_hash_update(props, "timezone", 9, &zv, sizeof(zval), NULL);
++ zend_hash_update(props, "timezone", 9, &zv, sizeof(zv), NULL);
+ }
+
+ return props;
+@@ -2265,7 +2265,7 @@ static HashTable *date_object_get_properties_interval(zval *object TSRMLS_DC)
+ #define PHP_DATE_INTERVAL_ADD_PROPERTY(n,f) \
+ MAKE_STD_ZVAL(zv); \
+ ZVAL_LONG(zv, (long)intervalobj->diff->f); \
+- zend_hash_update(props, n, strlen(n) + 1, &zv, sizeof(zval), NULL);
++ zend_hash_update(props, n, strlen(n) + 1, &zv, sizeof(zv), NULL);
+
+ PHP_DATE_INTERVAL_ADD_PROPERTY("y", y);
+ PHP_DATE_INTERVAL_ADD_PROPERTY("m", m);
+@@ -2282,7 +2282,7 @@ static HashTable *date_object_get_properties_interval(zval *object TSRMLS_DC)
+ } else {
+ MAKE_STD_ZVAL(zv);
+ ZVAL_FALSE(zv);
+- zend_hash_update(props, "days", 5, &zv, sizeof(zval), NULL);
++ zend_hash_update(props, "days", 5, &zv, sizeof(zv), NULL);
+ }
+ PHP_DATE_INTERVAL_ADD_PROPERTY("special_type", special.type);
+ PHP_DATE_INTERVAL_ADD_PROPERTY("special_amount", special.amount);
diff --git a/php54.spec b/php54.spec
index 0cb8b7d..04b0396 100644
--- a/php54.spec
+++ b/php54.spec
@@ -79,7 +79,7 @@ Version: 5.4.19
%if 0%{?snapdate:1}%{?rcver:1}
Release: 0.5.%{?snapdate}%{?rcver}%{?dist}
%else
-Release: 1%{?dist}
+Release: 2%{?dist}
%endif
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
@@ -109,6 +109,7 @@ Patch5: php-5.2.0-includedir.patch
Patch6: php-5.2.4-embed.patch
Patch7: php-5.3.0-recode.patch
Patch8: php-5.4.7-libdb.patch
+Patch9: php-5.4.19-date.patch
# Fixes for extension modules
# https://bugs.php.net/63171 no odbc call during timeout
@@ -765,13 +766,15 @@ httpd -V | grep -q 'threaded:.*yes' && exit 1
%patch6 -p1 -b .embed
%patch7 -p1 -b .recode
%patch8 -p1 -b .libdb
+%patch9 -p1 -b .date
+
rm -f ext/json/utf8_to_utf16.*
%patch21 -p1 -b .odbctimer
%patch40 -p1 -b .dlopen
%patch41 -p1 -b .easter
-%if 0%{?fedora} >= 17 || 0%{?rhel} >= 5
+%if 0%{?fedora} >= 18 || 0%{?rhel} >= 5
%patch42 -p1 -b .systzdata
%endif
%patch43 -p1 -b .headers
@@ -914,7 +917,10 @@ cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4
touch configure.in
./buildconf --force
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign"
+#CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign -fsanitize=address -ggdb"
export CFLAGS
+#LDFLAGS="-fsanitize=address"
+#export LDFLAGS
# Install extension modules in %{_libdir}/php/modules.
EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR
@@ -1628,6 +1634,9 @@ fi
%changelog
+* Fri Aug 30 2013 Remi Collet <rcollet@redhat.com> - 5.4.19-2
+- test build for https://bugs.php.net/65564
+
* Thu Aug 22 2013 Remi Collet <rcollet@redhat.com> - 5.4.19-1
- update to 5.4.19