diff --git a/includes/file.inc b/includes/file.inc index d73266cb4fa7a8556160100a20182f4c15c7eb40..451778ca5d10cc5da4158e3876d4248ad1926dac 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 754505b63d6747902b63ea477695a83924d08ceb..23c1d1241096750ac36eb0fb4ae67f4c74a5dbf5 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.')); }