From 9b4013fd82fa117215a928671ab9a72f4972fc59 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 17 Aug 2009 06:33:31 +0000 Subject: [PATCH] - Patch #504422 by catch, drewish: file_load_multiple() missing a sanity check. --- includes/file.inc | 5 +++++ modules/simpletest/tests/file.test | 3 +++ 2 files changed, 8 insertions(+) diff --git a/includes/file.inc b/includes/file.inc index d73266cb4fa..451778ca5d1 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -494,6 +494,11 @@ function file_check_location($source, $directory = '') { * @see file_load() */ function file_load_multiple($fids = array(), $conditions = array()) { + // If they don't provide any criteria return nothing rather than all files. + if (!$fids && !$conditions) { + return array(); + } + $query = db_select('files', 'f')->fields('f'); // If the $fids array is populated, add those to the query. diff --git a/modules/simpletest/tests/file.test b/modules/simpletest/tests/file.test index 754505b63d6..23c1d124109 100644 --- a/modules/simpletest/tests/file.test +++ b/modules/simpletest/tests/file.test @@ -598,6 +598,9 @@ class FileSaveUploadTest extends FileHookTestCase { $files = file_load_multiple(array($file1->fid, $file2->fid)); $this->assertTrue(isset($files[$file1->fid]), t('File was loaded successfully')); $this->assertTrue(isset($files[$file2->fid]), t('File was loaded successfully')); + + // Check that file_load_multiple() with no arguments returns FALSE. + $this->assertFalse(file_load_multiple(), t('No files were loaded.')); }