Commit Graph

18 Commits

Author SHA1 Message Date
Sergey Biryukov
fe928b2e9a General: Remove a few is_object() checks followed by instanceof operator.
This is a minor performance enhancement:

* If an object is passed, the call to `is_object()` will be redundant.
* If a non-object is passed, the `instanceof` operator (a variant of `is_a()`) will first [https://github.com/php/php-src/blob/f42992f/Zend/zend_builtin_functions.c#L630-L631 check if it is an object] before doing any further processing.

Therefore, no additional processing cycles should be wasted in both cases.

Follow-up to [6779], [48798], [48905], [49194], [55748].

Props Presskopp, costdev.
Fixes #58309.
Built from https://develop.svn.wordpress.org/trunk@55757


git-svn-id: http://core.svn.wordpress.org/trunk@55269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-05-15 10:28:23 +00:00
Sergey Biryukov
26a276db6f Filesystem API: Make sure to only call fread() on non-empty files in PclZip::privAddFile().
This avoids a fatal error on PHP 8 caused by passing a zero value to `fread()` as the `$length` argument, which must be greater than zero.

This commit also amends the previous solution for similar issues elsewhere in the file to ensure consistent type for string values, instead of changing the type from `string` to `bool` when trying to read from an empty file.

Follow-up to [50355].

Props DavidAnderson, jrf, SergeyBiryukov.
Fixes #54036.
Built from https://develop.svn.wordpress.org/trunk@51686


git-svn-id: http://core.svn.wordpress.org/trunk@51292 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-08-29 01:33:58 +00:00
Sergey Biryukov
dbaee6b550 Filesystem API: Make sure to only call fread() on non-empty files in the PclZip library.
This avoids a fatal error on PHP 8 caused by passing a zero value to `fread()` as the `$length` argument, which must be greater than zero.

Props yakimun, fierevere, jrf, DavidAnderson, SergeyBiryukov.
Fixes #52018.
Built from https://develop.svn.wordpress.org/trunk@50355


git-svn-id: http://core.svn.wordpress.org/trunk@49966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-16 18:42:03 +00:00
Sergey Biryukov
1faa241fb6 Code Modernization: Use instanceof instead of a comparison with get_class().
Includes adjusting external libraries which are no longer maintained externally.

Props jrf.
See #50767.
Built from https://develop.svn.wordpress.org/trunk@49194


git-svn-id: http://core.svn.wordpress.org/trunk@48956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-18 17:33:07 +00:00
Sergey Biryukov
b2ffea836b Docs: Fix typos in wp-admin/includes/class-pclzip.php.
With the upstream library not updated in 10 years since the last time it was merged, it should be safe to treat it as "adopted" rather than external, and make these fixes.

Props passoniate, ottok.
Fixes #49163. See #38464.
Built from https://develop.svn.wordpress.org/trunk@47123


git-svn-id: http://core.svn.wordpress.org/trunk@46923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:56:04 +00:00
Aaron Jorbin
dd3ad3ac51 GENERAL: Remove magic quote functions
The path to magic quote sanity took a fun and exciting turn: PHP core removed it and WordPress updated the minimum version.

For the formally external pclzip, the code is commented out to make investigating easier and in case we ever need to merge upstream (if that still exists) changes.

Props ayeshrajans, jrf, jorbin.
See #47783.
Fixes #18322.

Built from https://develop.svn.wordpress.org/trunk@46105


git-svn-id: http://core.svn.wordpress.org/trunk@45917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-13 22:21:01 +00:00
Dominik Schilling
f645178391 Filesystem API: Ensure memory limit calculations by PclZip are using integers.
This prevents a warning in PHP trunk, see https://wiki.php.net/rfc/invalid_strings_in_arithmetic.

See #36435.
Built from https://develop.svn.wordpress.org/trunk@38101


git-svn-id: http://core.svn.wordpress.org/trunk@38042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-19 11:55:30 +00:00
Aaron Jorbin
1525010f74 Deprecate php4 style constructors
PHP7 is deprecating PHP4 style constructors, so we need to modify our code to have _construct methods that fire before the named PHP4 style constructors.  The PHP4 style constructors will call the PHP5 style constructor in case it is being called directly (usually via parent::METHOD).

This modifies external libraries to add PHP5 style constructors, but doesn't add a notice for when they are used.  In WordPress core code, PHP4 style constructors are being given a call to _deprecated_constructor. To the PHP4 style constructor I say "I know that I can't take no more | It ain't no lie | I wanna see you out that door | Baby, bye, bye, bye..."

Upstream: https://wiki.php.net/rfc/remove_php4_constructors

Props jdgrimes, netweb, jorbin
See #31982


Built from https://develop.svn.wordpress.org/trunk@32990


git-svn-id: http://core.svn.wordpress.org/trunk@32961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-28 15:27:24 +00:00
ryan
bf96c01551 Associate subdirector of whitespace trims trailing whites with pinking shears.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-10-15 20:26:21 +00:00
westi
627e7b3e6c Update pclzip to 2.8.2 - Fixes #10650 and #10777.
Includes:
 * Removal of eval()s
 * Merge WordPress 64 bit fix upstream

git-svn-id: http://svn.automattic.com/wordpress/trunk@11993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-10-01 21:04:57 +00:00
ryan
8e3808bce2 Remove trailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@11930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-09-14 14:03:32 +00:00
ryan
e9ab4ba39d Update pclzip to 2.8 and apply x64 patch. Props demetris. fixes #9615
git-svn-id: http://svn.automattic.com/wordpress/trunk@11056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-22 18:04:49 +00:00
ryan
2da9842c83 Use dist pczlip. see #9615 #9464
git-svn-id: http://svn.automattic.com/wordpress/trunk@11038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-21 22:42:25 +00:00
ryan
64f86fb376 Update pclzip to 2.7. Props simek. fixes #9464
git-svn-id: http://svn.automattic.com/wordpress/trunk@11025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-20 22:25:40 +00:00
westi
7f894ae416 phpdoc for wp-admin. See #7496 props santosj.
git-svn-id: http://svn.automattic.com/wordpress/trunk@8645 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-08-14 06:30:38 +00:00
westi
f9871ae531 Chase down some 64bit dragons. Ensure that we only ever create a 32bit number to compare to the 32bit magic number when searching a zip file for the end of the directory record. See #6236.
git-svn-id: http://svn.automattic.com/wordpress/trunk@7314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-15 18:33:16 +00:00
ryan
04c9051a7d Remove trailing whites.
git-svn-id: http://svn.automattic.com/wordpress/trunk@7130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-02 20:17:30 +00:00
ryan
9aab2ce97a First cut at plugin update. Props DD32 for the filesystem abstraction. see #5586
git-svn-id: http://svn.automattic.com/wordpress/trunk@6779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-02-11 05:45:54 +00:00