diff --git a/includes/entity.inc b/includes/entity.inc index 2fefd59..0b80d53 100644 --- a/includes/entity.inc +++ b/includes/entity.inc @@ -159,6 +159,18 @@ class DrupalDefaultEntityController implements DrupalEntityControllerInterface { */ public function load($ids = array(), $conditions = array()) { $entities = array(); + + # PATCH http://drupal.org/node/1003788#comment-5195682 + // Clean the $ids array to remove non-integer values that can be passed + // in from various sources, including menu callbacks. + if (is_array($ids)) { + foreach ($ids as $key => $id) { + if (empty($id) || ((string) $id !== (string) (int) $id)) { + unset($ids[$key]); + } + } + } + # endpatch // Revisions are not statically cached, and require a different query to // other conditions, so separate the revision id into its own variable.