With Private Files enabled in OS X with PHP 5.3 and Content, Filefield, and Imagefield enabled in Pressflow Drupal 6....

After saving a node with a new image attached:
Notice: Trying to get property of non-object in filefield_file_download() (line ... of ... filefield.module)

In my debugger $file is showing up as a bool with a value of 0 at line 137 of HEAD. I guess that 0 means NULL? Because changing

// If the file is not found in the database, we're not responsible for it.
if (!isset($file)) {
  return;
}

to

// If the file is not found in the database, we're not responsible for it.
if (empty($file)) {
  return;
}

resolves the issue.

OK?

CommentFileSizeAuthor
#1 filefield-996338.patch549 bytesSoren Jones
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Soren Jones’s picture

FileSize
549 bytes

Patch.

Soren Jones’s picture

Status: Active » Needs review
quicksketch’s picture

Status: Needs review » Reviewed & tested by the community

Hm, interesting. I wonder if isset() has ever really worked here. Clearly empty() is going to be a more robust check here. You running into this problem is enough that I think this change should be made regardless of if it works in some situations.

quicksketch’s picture

Status: Reviewed & tested by the community » Fixed

I've committed this patch. Thanks again.

Status: Fixed » Closed (fixed)
Issue tags: -PHP 5.3

Automatically closed -- issue fixed for 2 weeks with no activity.