diff --git a/core/includes/form.inc b/core/includes/form.inc index a555bf0..6e0e2c6 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -987,6 +987,10 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { '#value' => $form['#build_id'], '#id' => $form['#build_id'], '#name' => 'form_build_id', + // Form processing and validation requires this value, so ensure the + // submitted form value appears literally, regardless of custom #tree + // and #parents being set elsewhere. + '#parents' => array('form_build_id'), ); // Add a token, based on either #token or form_id, to any form displayed to @@ -1010,6 +1014,10 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { '#id' => drupal_html_id('edit-' . $form_id . '-form-token'), '#type' => 'token', '#default_value' => drupal_get_token($form['#token']), + // Form processing and validation requires this value, so ensure the + // submitted form value appears literally, regardless of custom #tree + // and #parents being set elsewhere. + '#parents' => array('form_token'), ); } } @@ -1019,6 +1027,10 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { '#type' => 'hidden', '#value' => $form_id, '#id' => drupal_html_id("edit-$form_id"), + // Form processing and validation requires this value, so ensure the + // submitted form value appears literally, regardless of custom #tree + // and #parents being set elsewhere. + '#parents' => array('form_id'), ); } if (!isset($form['#id'])) {