I've been getting a Suhosin error in my syslog:

suhosin: ALERT - canary mismatch on efree() - heap overflow detected (attacker 'IP address here', file '/systempathto/sites/all/modules/i18n/i18ntaxonomy/i18ntaxonomy.module', line 628)

The error reference is to a line in the middle of i18ntaxonomy_nodeapi(). Line 628 is
$node->taxonomy = i18ntaxonomy_localize_terms($node->taxonomy);

Here's the full function:

function i18ntaxonomy_nodeapi(&$node, $op) {
  switch ($op) {
    case 'view':
      // This runs after taxonomy:nodeapi, so we just localize terms here.
      if ($op == 'view' && array_key_exists('taxonomy', $node)) {
        $node->taxonomy = i18ntaxonomy_localize_terms($node->taxonomy);
      }
      break;

    case 'prepare translation':
      $source = $node->translation_source;
      // Taxonomy translation.
      if (is_array($source->taxonomy)) {
        // Set translated taxonomy terms.
        $node->taxonomy = i18ntaxonomy_translate_terms($source->taxonomy, $node->language);
      }
      break;
  }
}

Anyone else had similar problems? Any ideas what the cause might be? Suggestions warmly welcomed.

Comments

joe-b’s picture

Status: Active » Closed (fixed)

Hmm, I think it was a Twitter image with malicious code that caused the problem.