From 5b64eca514d9a8d7ed305e9bfdb9ab0d65185772 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 17 Oct 2015 10:03:38 +0200 Subject: php-pecl-yaml: add upstream patch, fix segfault --- php-pecl-yaml-dev.spec | 14 ++++++++++--- yaml-upstream.patch | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 yaml-upstream.patch diff --git a/php-pecl-yaml-dev.spec b/php-pecl-yaml-dev.spec index 0962acb..89901f2 100644 --- a/php-pecl-yaml-dev.spec +++ b/php-pecl-yaml-dev.spec @@ -34,13 +34,16 @@ Summary: PHP Bindings for yaml Name: %{?sub_prefix}php-pecl-yaml Version: 2.0.0 -Release: 0.1.%{prever}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 0.2.%{prever}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: MIT Group: Development/Languages URL: http://pecl.php.net/package/yaml Source: http://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz +# Upstream patch +Patch0: %{pecl_name}-upstream.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{?scl_prefix}php-devel >= 7 BuildRequires: %{?scl_prefix}php-pear @@ -99,6 +102,8 @@ mv %{pecl_name}-%{version}%{?prever} NTS sed -e '/role="test"/d' -i package.xml cd NTS +%patch0 -p1 -b .upstream + # Check upstream version (often broken) extver=$(sed -n '/#define PHP_YAML_VERSION/{s/.* "//;s/".*$//;p}' php_yaml.h) if test "x${extver}" != "x%{version}%{?prever}"; then @@ -188,7 +193,7 @@ cd NTS TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=0 \ +REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php --show-diff %if %{with_zts} @@ -202,7 +207,7 @@ cd ../ZTS TEST_PHP_EXECUTABLE=%{__ztsphp} \ TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=0 \ +REPORT_EXIT_STATUS=1 \ %{__ztsphp} -n run-tests.php --show-diff %endif @@ -246,6 +251,9 @@ fi %changelog +* Sat Oct 17 2015 Remi Collet - 2.0.0-0.2.RC2 +- add uptream patches, fix segfault and test suite + * Sat Oct 17 2015 Remi Collet - 2.0.0-0.1.RC2 - update to 2.0.0RC2 for PHP 7 - 2 failed tests, so ignore test suite results for now diff --git a/yaml-upstream.patch b/yaml-upstream.patch new file mode 100644 index 0000000..c2bf423 --- /dev/null +++ b/yaml-upstream.patch @@ -0,0 +1,56 @@ +From b015af52451b90bc38463ea4915c150de4a1b9d9 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Sat, 17 Oct 2015 09:42:29 +0200 +Subject: [PATCH] free later, fix tests/yaml_emit_005.phpt failure + +--- + emit.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/emit.c b/emit.c +index faa4d07..d210acc 100644 +--- a/emit.c ++++ b/emit.c +@@ -668,13 +668,13 @@ static int y_write_object( + NULL, (yaml_char_t *) YAML_PHP_TAG, (yaml_char_t *) buf.s->val, buf.s->len, + 0, 0, YAML_DOUBLE_QUOTED_SCALAR_STYLE); + +- smart_string_free(&buf); + if (!status) { + y_event_init_failed(&event); + status = FAILURE; + } else { + status = y_event_emit(state, &event TSRMLS_CC); + } ++ smart_string_free(&buf); + } + + return status; +-- +2.1.4 + +From 2538b42347d1fc390ebd88ef1c1ca4164c2faecf Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Sat, 17 Oct 2015 09:46:19 +0200 +Subject: [PATCH] missing init value, fix segfault in tests/bug_64694.phpt + +--- + parse.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/parse.c b/parse.c +index d52753a..dbd8cd5 100644 +--- a/parse.c ++++ b/parse.c +@@ -880,7 +880,7 @@ static char *convert_to_char(zval *zv TSRMLS_DC) + default: + { + php_serialize_data_t var_hash; +- smart_str buf; ++ smart_str buf = {0}; + + PHP_VAR_SERIALIZE_INIT(var_hash); + php_var_serialize(&buf, zv, &var_hash TSRMLS_CC); +-- +2.1.4 + -- cgit