﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
22307	tempfile.SpooledTemporaryFile passed to File causes exception	hrlawrenz@…	nobody	"When a File object is created from a tempfile.SpooledTemporaryFile, an exception occurs when the File.size method is called and the tempfile.SpooledTemporaryFile isn't large enough to have been written to disk. The exception is caused by an attempt to call os.path.exists on a None value. The name attribute of the tempfile.SpooledTemporaryFile in this case is None in this case because it doesn't exist on disk.

Patch in pull request at https://github.com/django/django/pull/2455

The patch just adds another condition before calling os.path.exists to verify that the file name isn't None.


Traceback (most recent call last):
  File ""/Users/hrwl/Documents/Projects/django/tests/files/tests.py"", line 215, in test_in_memory_spooled_temp
    self.assertTrue(django_file.size, 17)
  File ""/Users/hrwl/Documents/Projects/django/django/core/files/base.py"", line 43, in _get_size
    elif hasattr(self.file, 'name') and os.path.exists(self.file.name):
  File ""/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/genericpath.py"", line 18, in exists
    os.stat(path)
TypeError: coercing to Unicode: need string or buffer, NoneType found
"	Bug	closed	Core (Other)	dev	Normal	fixed			Ready for checkin	1	0	0	0	0	0
