Index: apc_compile.c =================================================================== RCS file: /repository/pecl/apc/apc_compile.c,v retrieving revision 3.87.2.5 diff -u -r3.87.2.5 apc_compile.c --- apc_compile.c 1 May 2008 12:17:21 -0000 3.87.2.5 +++ apc_compile.c 1 May 2008 15:04:53 -0000 @@ -292,10 +292,21 @@ local_dst_alloc = 1; } +#ifdef ZEND_ENGINE_2_3 + if(!(dst[0] = (zval*) allocate(sizeof(zval_gc_info)))) { + if(local_dst_alloc) deallocate(dst); + return NULL; + } + + if(allocate == apc_php_malloc) { + GC_ZVAL_INIT(dst[0]); + } +#else if(!(dst[0] = (zval*) allocate(sizeof(zval)))) { if(local_dst_alloc) deallocate(dst); return NULL; } +#endif if(!(dst_new = my_copy_zval(*dst, *src, allocate, deallocate))) { if(local_dst_alloc) deallocate(dst); return NULL; @@ -1089,7 +1100,15 @@ assert(src != NULL); if (!dst) { +#ifdef ZEND_ENGINE_2_3 + CHECK(dst = (zval*) allocate(sizeof(zval_gc_info))); + + if(allocate == apc_php_malloc) { + GC_ZVAL_INIT(dst); + } +#else CHECK(dst = (zval*) allocate(sizeof(zval))); +#endif local_dst_alloc = 1; }