/[smeserver]/rpms/php/sme8/php-5.3.3-zendgc.patch
ViewVC logotype

Annotation of /rpms/php/sme8/php-5.3.3-zendgc.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Mon Dec 16 10:46:47 2013 UTC (10 years, 10 months ago) by vip-ire
Branch: MAIN
CVS Tags: php-5_3_3-14_el5_sme, php-5_3_3-17_el5_sme, php-5_3_3-15_el5_sme, php-5_3_3-16_el5_sme, HEAD
* Mon Dec 16 2013 Daniel Berteaud <daniel@firewall-services.com> - 5.3.3-14.sme
- Resync with upstream php53, which include:
- add security fix for CVE-2013-6420
- add security fix for CVE-2013-4248
- add upstream reproducer for error_handler (#951075)
- add security fixes for CVE-2006-7243
- add security fixes for CVE-2012-2688, CVE-2012-0831,
  CVE-2011-1398, CVE-2013-1643
- fix segfault in error_handler with
  allow_call_time_pass_reference = Off (#951075)
- fix double free when destroy_zend_class fails (#951076)
- fix possible buffer overflow in pdo_odbc (#869694)
- php script hangs when it exceeds max_execution_time
  when inside an ODBC call (#864954)
- fix zend garbage collector (#892695)
- fix transposed memset arguments in libzip (#953818)
- fix possible segfault in pdo_mysql (#869693)
- fix imap_open DISABLE_AUTHENTICATOR param ignores array (#859369)
- fix stream support in fileinfo (#869697)
- fix setDate when DateTime created from timestamp (#869691)
- fix permission on source files (#869688)
- add php(language) and missing provides (#837044)
-
- fix copy doesn't report failure on partial copy (#951413)

1 vip-ire 1.1 From c7b95db5ab8e56f708e96611849b7d74a36e0699 Mon Sep 17 00:00:00 2001
2     From: Dmitry Stogov <dmitry@php.net>
3     Date: Fri, 3 Sep 2010 09:27:47 +0000
4     Subject: [PATCH] Fixed GC bug
5    
6     ---
7     Zend/zend_gc.c | 42 +++++++++++++++++++++++-------------------
8     1 files changed, 23 insertions(+), 19 deletions(-)
9    
10     diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
11     index db04652..3237768 100644
12     --- a/Zend/zend_gc.c
13     +++ b/Zend/zend_gc.c
14     @@ -414,19 +414,21 @@ static void gc_mark_roots(TSRMLS_D)
15     gc_root_buffer *current = GC_G(roots).next;
16    
17     while (current != &GC_G(roots)) {
18     - if (current->handle && EG(objects_store).object_buckets) {
19     - struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj;
20     + if (current->handle) {
21     + if (EG(objects_store).object_buckets) {
22     + struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj;
23    
24     - if (GC_GET_COLOR(obj->buffered) == GC_PURPLE) {
25     - zval z;
26     + if (GC_GET_COLOR(obj->buffered) == GC_PURPLE) {
27     + zval z;
28    
29     - INIT_PZVAL(&z);
30     - Z_OBJ_HANDLE(z) = current->handle;
31     - Z_OBJ_HT(z) = current->u.handlers;
32     - zobj_mark_grey(obj, &z TSRMLS_CC);
33     - } else {
34     - GC_SET_ADDRESS(obj->buffered, NULL);
35     - GC_REMOVE_FROM_BUFFER(current);
36     + INIT_PZVAL(&z);
37     + Z_OBJ_HANDLE(z) = current->handle;
38     + Z_OBJ_HT(z) = current->u.handlers;
39     + zobj_mark_grey(obj, &z TSRMLS_CC);
40     + } else {
41     + GC_SET_ADDRESS(obj->buffered, NULL);
42     + GC_REMOVE_FROM_BUFFER(current);
43     + }
44     }
45     } else {
46     if (GC_ZVAL_GET_COLOR(current->u.pz) == GC_PURPLE) {
47     @@ -623,15 +625,17 @@ static void gc_collect_roots(TSRMLS_D)
48     gc_root_buffer *current = GC_G(roots).next;
49    
50     while (current != &GC_G(roots)) {
51     - if (current->handle && EG(objects_store).object_buckets) {
52     - struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj;
53     - zval z;
54     + if (current->handle) {
55     + if (EG(objects_store).object_buckets) {
56     + struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj;
57     + zval z;
58    
59     - GC_SET_ADDRESS(obj->buffered, NULL);
60     - INIT_PZVAL(&z);
61     - Z_OBJ_HANDLE(z) = current->handle;
62     - Z_OBJ_HT(z) = current->u.handlers;
63     - zobj_collect_white(&z TSRMLS_CC);
64     + GC_SET_ADDRESS(obj->buffered, NULL);
65     + INIT_PZVAL(&z);
66     + Z_OBJ_HANDLE(z) = current->handle;
67     + Z_OBJ_HT(z) = current->u.handlers;
68     + zobj_collect_white(&z TSRMLS_CC);
69     + }
70     } else {
71     GC_ZVAL_SET_ADDRESS(current->u.pz, NULL);
72     zval_collect_white(current->u.pz TSRMLS_CC);
73     --
74     1.7.8
75    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed