summaryrefslogtreecommitdiff
path: root/ext/ftp/php_ftp.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-08-08 18:05:29 +0200
committerStanislav Malyshev <stas@php.net>2016-08-17 00:45:57 -0700
commit2135fdef9b588a34f8805b2bbf10704e36163d5a (patch)
tree77c5d2591425df1625893229e33027f71281bc35 /ext/ftp/php_ftp.c
parent0d13325b660b5ae64267dffcc9a153c7634fdfe2 (diff)
downloadphp-git-2135fdef9b588a34f8805b2bbf10704e36163d5a.tar.gz
Bug #72663 - part 1
Don't call __destruct() on an unserialized object that has a __wakeup() method if either a) unserialization of its properties fails or b) the __wakeup() call fails (e.g. by throwing). This basically treats __wakeup() as a form of constructor and aligns us with the usual behavior that if the constructor call fails the destructor should not be called. The security aspect here is that people use __wakeup() to prevent unserialization of objects with dangerous __destruct() methods, but this is ineffective if __destruct() can still be called while __wakeup() was skipped.
Diffstat (limited to 'ext/ftp/php_ftp.c')
0 files changed, 0 insertions, 0 deletions