Comment 9 for bug 548970

Revision history for this message
Michael Lustfield (michaellustfield) wrote :

/var/log/syslog is giving me this message:

Mar 26 19:16:41 incipio suhosin[17482]: ALERT - canary mismatch on efree() - heap overflow detected at 0x2c67e30 (attacker '96.2.97.126', file '/home/michael/drupal6/includes/bootstrap.inc', line 987)

The contents of that:

/* BREAKS HERE $current_phase = $phases[$phase_index]; */

/**
 * A string describing a phase of Drupal to load. Each phase adds to the
 * previous one, so invoking a later phase automatically runs the earlier
 * phases too. The most important usage is that if you want to access the
 * Drupal database from a script without loading anything else, you can
 * include bootstrap.inc, and call drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE).
 *
 * @param $phase
 * A constant. Allowed values are:
 * DRUPAL_BOOTSTRAP_CONFIGURATION: initialize configuration.
 * DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE: try to call a non-database cache fetch routine.
 * DRUPAL_BOOTSTRAP_DATABASE: initialize database layer.
 * DRUPAL_BOOTSTRAP_ACCESS: identify and reject banned hosts.
 * DRUPAL_BOOTSTRAP_SESSION: initialize session handling.
 * DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE: load bootstrap.inc and module.inc, start
 * the variable system and try to serve a page from the cache.
 * DRUPAL_BOOTSTRAP_LANGUAGE: identify the language used on the page.
 * DRUPAL_BOOTSTRAP_PATH: set $_GET['q'] to Drupal path of request.
 * DRUPAL_BOOTSTRAP_FULL: Drupal is fully loaded, validate and fix input data.
 */
function drupal_bootstrap($phase) {
  static $phases = array(DRUPAL_BOOTSTRAP_CONFIGURATION, DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE, DRUPAL_BOOTSTRAP_DATABASE, DRUPAL_BOOTSTRAP_ACCESS, DRUPAL_BOOTSTRAP_SESSION, DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE, DRUPAL_BOOTSTRAP_LANGUAGE, DRUPAL_BOOTSTRAP_PATH, DRUPAL_BOOTSTRAP_FULL), $phase_index = 0;

  while ($phase >= $phase_index && isset($phases[$phase_index])) {
    $current_phase = $phases[$phase_index]; /** <-------- THIS IS LINE 987 **/
    unset($phases[$phase_index++]);
    _drupal_bootstrap($current_phase);
  }
}