materio-base-legacy/entity_noninterger_cleaning.patch
2013-09-24 09:05:19 +02:00

24 lines
903 B
Diff
Executable File

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.