[wp-trac] [WordPress Trac] #61838: Uncaught TypeError in multiple REST API endpoints from a single bug

WordPress Trac noreply at wordpress.org
Wed Aug 14 01:30:44 UTC 2024


#61838: Uncaught TypeError in multiple REST API endpoints from a single bug
--------------------------+------------------------------
 Reporter:  mlf20         |       Owner:  (none)
     Type:  defect (bug)  |      Status:  new
 Priority:  normal        |   Milestone:  Awaiting Review
Component:  REST API      |     Version:  6.2.2
 Severity:  normal        |  Resolution:
 Keywords:  has-patch     |     Focuses:  rest-api
--------------------------+------------------------------
Description changed by peterwilsoncc:

Old description:

> Upon creating a fresh instance of WordPress and setting up the REST API a
> malformed requests to REST API endpoints results
> in an exception multiple endpoints:
>
> Request body:
> '{"namespace": ["core/offset-text-with-a-brutalist-design-vibe", "core
> /offset-text-with-a-brutalist-design-vibe"]}'
>

> === Command to reproduce
>   curl -X GET "[WORDPRESSDOMAIN]/wp-json/wp-block-
> editor/v1?namespace=core/large-header-with-text-and-a-button&context="
> -H 'Authorization: Basic [ACCESS_TOKEN]' -H 'Content-Type:
> application/json' -d '{"namespace": ["core/offset-text-with-a-brutalist-
> design-vibe", "core/offset-text-with-a-brutalist-design-vibe"]}'
>
>  curl -X  PUT ["WORDPRESSDOMAIN]/wp-json/wp/v2/blocks/1" -d '{"date":
> "E1VFG9QQ", "date_gmt": "447E5S8V", "slug": "", "status": "IKQHKNFP",
> "password": "TX0QAG2M", "template": ["template is not one of hello-world,
> blank.", "template is not one of hello-world, blank."]}' -H
> 'Authorization: Basic [ACCESS_TOKEN]' -H 'Content-Type: application/json'
>
> === Stacktrace
> {{{
> '<br />\n<b>Fatal error</b>:  Uncaught TypeError: Illegal offset type in
> isset or empty in /var/www/html/wp-includes/rest-api/endpoints/class-wp-
> rest-posts-controller.php:1529\nStack trace:\n#0 /var/www/html/wp-
> includes/rest-api/class-wp-rest-request.php(911):
> WP_REST_Posts_Controller->check_template(Array,
> Object(WP_REST_Request), \'template\')\n#1 /var/www/html/wp-includes
> /rest-api/class-wp-rest-server.php(1018):
> WP_REST_Request->has_valid_params()\n#2 /var/www/html/wp-includes
> /rest-api/class-wp-rest-server.php(443):
> WP_REST_Server->dispatch(Object(WP_REST_Request))\n#3 /var/www/html
> /wp-includes/rest-api.php(410):
> WP_REST_Server->serve_request(\'/wp/v2/blocks/3...\')\n#4
> /var/www/html/wp-includes/class-wp-hook.php(308):
> rest_api_loaded(Object(WP))\n#5 /var/www/html/wp-includes/class-wp-
> hook.php(332): WP_Hook->apply_filters(\'\', Array)\n#6 /var/www/html
> /wp-includes/plugin.php(565): WP_Hook->do_action(Array)\n#7
> /var/www/html/wp-includes/class-wp.php(399):
> do_action_ref_array(\'parse_request\', Array)\n#8 /var/www/html/wp-
> includes/class-wp.php(780): WP->parse_request(\'\')\n#9 /var/www/html
> /wp-includes/functions.php(1334): WP->main(\'\')\n#10 /var/www/html
> /wp-blog-header.php(16): wp()\n#11 /var/www/html/index.php(17):
> require(\'/var/www/html/w...\')\n#12 {main}\n  thrown in <b>/var/www/html
> /wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php</b> on
> line <b>1529</b><br
> />\n{"code":"internal_server_error","message":"<p>There has been a
> critical error on this website.<\\/p><p><a
> href=\\"https:\\/\\/wordpress.org\\/documentation\\/article\\/faq-
> troubleshooting\\/\\">Learn more about troubleshooting
> WordPress.<\\/a><\\/p>","data":{"status":500},"additional_errors":[]}'
> }}}

New description:

 Upon creating a fresh instance of WordPress and setting up the REST API a
 malformed requests to REST API endpoints results
 in an exception multiple endpoints:

 Request body:
 '{"namespace": ["core/offset-text-with-a-brutalist-design-vibe", "core
 /offset-text-with-a-brutalist-design-vibe"]}'


 === Command to reproduce
   curl -X GET "[WORDPRESSDOMAIN]/wp-json/wp-block-editor/v1?namespace=core
 /large-header-with-text-and-a-button&context="  -H 'Authorization: Basic
 [ACCESS_TOKEN]' -H 'Content-Type: application/json' -d '{"namespace":
 ["core/offset-text-with-a-brutalist-design-vibe", "core/offset-text-with-a
 -brutalist-design-vibe"]}'

  curl -X  PUT ["WORDPRESSDOMAIN]/wp-json/wp/v2/blocks/1" -d '{"date":
 "E1VFG9QQ", "date_gmt": "447E5S8V", "slug": "", "status": "IKQHKNFP",
 "password": "TX0QAG2M", "template": ["template is not one of hello-world,
 blank.", "template is not one of hello-world, blank."]}' -H
 'Authorization: Basic [ACCESS_TOKEN]' -H 'Content-Type: application/json'

 === Stacktrace
 {{{
 Fatal error:  Uncaught TypeError: Illegal offset type in isset or empty in
 /var/www/html/wp-includes/rest-api/endpoints/class-wp-rest-posts-
 controller.php:1529
 Stack trace:
 #0 /var/www/html/wp-includes/rest-api/class-wp-rest-request.php(911):
 WP_REST_Posts_Controller->check_template(Array, Object(WP_REST_Request),
 'template')
 #1 /var/www/html/wp-includes/rest-api/class-wp-rest-server.php(1018):
 WP_REST_Request->has_valid_params()
 #2 /var/www/html/wp-includes/rest-api/class-wp-rest-server.php(443):
 WP_REST_Server->dispatch(Object(WP_REST_Request))
 #3 /var/www/html/wp-includes/rest-api.php(410):
 WP_REST_Server->serve_request('/wp/v2/blocks/3...')
 #4 /var/www/html/wp-includes/class-wp-hook.php(308):
 rest_api_loaded(Object(WP))
 #5 /var/www/html/wp-includes/class-wp-hook.php(332):
 WP_Hook->apply_filters('', Array)
 #6 /var/www/html/wp-includes/plugin.php(565): WP_Hook->do_action(Array)
 #7 /var/www/html/wp-includes/class-wp.php(399):
 do_action_ref_array('parse_request', Array)
 #8 /var/www/html/wp-includes/class-wp.php(780): WP->parse_request('')
 #9 /var/www/html/wp-includes/functions.php(1334): WP->main('')
 #10 /var/www/html/wp-blog-header.php(16): wp()
 #11 /var/www/html/index.php(17): require('/var/www/html/w...')
 #12 {main}
   thrown in /var/www/html/wp-includes/rest-api/endpoints/class-wp-rest-
 posts-controller.php on line 529
 {"code":"internal_server_error","message":"<p>There has been a critical
 error on this website.</p><p><a
 href="https://wordpress.org/documentation/article/faq-
 troubleshooting/">Learn more about troubleshooting
 WordPress.</a></p>","data":{"status":500},"additional_errors":[]}'
 }}}

--

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/61838#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list