Skip to content

Fix: PHP 8.5: Incorrect array access in wp_get_attachment_image_src - #11073

Closed
hbhalodia wants to merge 12 commits into
WordPress:trunkfrom
hbhalodia:fix/issue-64742
Closed

Fix: PHP 8.5: Incorrect array access in wp_get_attachment_image_src#11073
hbhalodia wants to merge 12 commits into
WordPress:trunkfrom
hbhalodia:fix/issue-64742

Conversation

@hbhalodia

@hbhalodia hbhalodia commented Feb 27, 2026

Copy link
Copy Markdown

Trac ticket: https://core.trac.wordpress.org/ticket/64742

  • Fix php warning, when kinda destructure the boolean.
  • Fix: Warning Cannot use bool as array

Use of AI Tools

  • NA

This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

@github-actions

github-actions Bot commented Feb 27, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props hbhalodia, westonruter, mukesh27.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@github-actions

Copy link
Copy Markdown

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

Comment thread src/wp-includes/embed.php
Comment thread src/wp-includes/embed.php
@westonruter

Copy link
Copy Markdown
Member

@hbhalodia I made some more tweaks upon reviewing. Please review.

@hbhalodia

Copy link
Copy Markdown
Author

Thanks @westonruter, Looks good.

Checked on removed redundant type coersion, Updated the return type with exact array shape. We are in good shape to go ahead with the PR.

pento pushed a commit that referenced this pull request Mar 30, 2026
…age_src()` and `wp_getimagesize()`.

* Add `is_array()` checks before accessing return values from `wp_get_attachment_image_src()` in `get_oembed_response_data_rich()`, `wp_playlist_shortcode()`, and `wp_prepare_attachment_for_js()`. 
* Guard `wp_getimagesize()` calls within `wp_get_attachment_image_src()` itself.
* Ensure `wp_get_attachment_image_src()` always returns the expected `array{0: string, 1: int, 2: int, 3: bool}` type or `false` by normalizing the filter result with explicit type casting and default values.
* Add `@phpstan-return` annotations to both `wp_get_attachment_image_src()` and `wp_getimagesize()` for the specific array shapes.

Developed in #11073

Props hbhalodia, westonruter, mukesh27, edent, ozgursar, roshniahuja14.
Fixes #64742.


git-svn-id: https://develop.svn.wordpress.org/trunk@62176 602fd350-edb4-49c9-b593-d223f7449a82
@github-actions

Copy link
Copy Markdown

A commit was made that fixes the Trac ticket referenced in the description of this pull request.

SVN changeset: 62176
GitHub commit: c2f2558

This PR will be closed, but please confirm the accuracy of this and reopen if there is more work to be done.

@github-actions github-actions Bot closed this Mar 30, 2026
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Mar 30, 2026
…age_src()` and `wp_getimagesize()`.

* Add `is_array()` checks before accessing return values from `wp_get_attachment_image_src()` in `get_oembed_response_data_rich()`, `wp_playlist_shortcode()`, and `wp_prepare_attachment_for_js()`. 
* Guard `wp_getimagesize()` calls within `wp_get_attachment_image_src()` itself.
* Ensure `wp_get_attachment_image_src()` always returns the expected `array{0: string, 1: int, 2: int, 3: bool}` type or `false` by normalizing the filter result with explicit type casting and default values.
* Add `@phpstan-return` annotations to both `wp_get_attachment_image_src()` and `wp_getimagesize()` for the specific array shapes.

Developed in WordPress/wordpress-develop#11073

Props hbhalodia, westonruter, mukesh27, edent, ozgursar, roshniahuja14.
Fixes #64742.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
pento pushed a commit that referenced this pull request Jul 1, 2026
…_src() and wp_getimagesize().

Add is_array() checks before accessing return values from wp_get_attachment_image_src() in get_oembed_response_data_rich(), wp_playlist_shortcode(), and wp_prepare_attachment_for_js().
Guard wp_getimagesize() calls within wp_get_attachment_image_src() itself.
Ensure wp_get_attachment_image_src() always returns the expected array{0: string, 1: int, 2: int, 3: bool} type or false by normalizing the filter result with explicit type casting and default values.
Add @phpstan-return annotations to both wp_get_attachment_image_src() and wp_getimagesize() for the specific array shapes.
Developed in #11073

Reviewed-by jorbin.
Merges [62176].

Props hbhalodia, westonruter, mukesh27, edent, ozgursar, roshniahuja14.
Fixes #64742.


git-svn-id: https://develop.svn.wordpress.org/branches/7.0@62611 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jul 1, 2026
…_src() and wp_getimagesize().

Add is_array() checks before accessing return values from wp_get_attachment_image_src() in get_oembed_response_data_rich(), wp_playlist_shortcode(), and wp_prepare_attachment_for_js().
Guard wp_getimagesize() calls within wp_get_attachment_image_src() itself.
Ensure wp_get_attachment_image_src() always returns the expected array{0: string, 1: int, 2: int, 3: bool} type or false by normalizing the filter result with explicit type casting and default values.
Add @phpstan-return annotations to both wp_get_attachment_image_src() and wp_getimagesize() for the specific array shapes.
Developed in WordPress/wordpress-develop#11073

Reviewed-by jorbin.
Merges [62176].

Props hbhalodia, westonruter, mukesh27, edent, ozgursar, roshniahuja14.
Fixes #64742.

Built from https://develop.svn.wordpress.org/branches/7.0@62611


git-svn-id: http://core.svn.wordpress.org/branches/7.0@61891 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants