Hi!
Attached is the patch implementing build ID. Please comment. If no
objections are raised I'm going to commit it tomorrow.
Stanislav Malyshev, Zend Software Architect
stas@zend.com http://www.zend.com/
(408)253-8829 MSN: stas@zend.com
Hi,
On Thu, 2009-01-15 at 17:07 -0800, Stanislav Malyshev wrote:
Index: Zend/zend_modules.h
[...]
@@ -70,8 +68,7 @@
struct _zend_module_entry {
unsigned short size;
unsigned int zend_api;
- unsigned char zend_debug;
- unsigned char zts;
- char *build_id;
const struct _zend_ini_entry *ini_entry;
const struct _zend_module_dep *deps;
const char *name;
If I got it right it will, when loading a 5.3 extension in 5.2, try to
read the extension name from the wrong location and therefor most likely
segfault while generating the error message. (it will also try to read
zend_debug and zts, of course, but there it should be able to safely
read random data)
So I'd like to keep the structure in a way that the offset to the name
pointer is still he same.
johannes
Hi!
If I got it right it will, when loading a 5.3 extension in 5.2, try to
read the extension name from the wrong location and therefor most likely
segfault while generating the error message. (it will also try to read
zend_debug and zts, of course, but there it should be able to safely
read random data)
Hm, you are right. I guess we'd have to keep the structure intact,
thanks for noticing it.
--
Stanislav Malyshev, Zend Software Architect
stas@zend.com http://www.zend.com/
(408)253-8829 MSN: stas@zend.com
Hi!
Attached is the patch implementing build ID. Please comment. If no
objections are raised I'm going to commit it tomorrow.
...
- fprintf(stderr, "Cannot load %s - it was build with configuration %s,
whereas running engine is %s\n",
Why not to call zend_error instead?
It would make more sense because by default zend_error falls back to the
output anyway and
honors php.ini settings like error_log, so admins will see the trouble in
the log if it is set.
-jv