From aaa22b707f1cd6802745ae6023b9aeec629c3a3e Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Wed, 14 Jan 2009 08:54:20 +0100 Subject: [PATCH] [IMP] Use tempfile.mkstemp instead of os.tempname. mkstemp is more secure bzr revid: stephane@tinyerp.com-20090114075420-yfgsx5cz8pjxcrkf --- addons/document/content_index.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/document/content_index.py b/addons/document/content_index.py index db78217b6d6..96297ff7a8b 100644 --- a/addons/document/content_index.py +++ b/addons/document/content_index.py @@ -23,6 +23,7 @@ import time import os import StringIO import odt2txt +import tempfile # # This should be the indexer @@ -36,11 +37,10 @@ def content_index(content, filename=None, content_type=None): stdin.close() result = stdout.read().decode('latin1','replace').encode('utf-8','replace') elif ext == '.pdf': - fname = os.tempnam(filename)+'.pdf' - fp = file(fname,'wb') - fp.write(content) - fp.close() - fp = os.popen('pdftotext -enc UTF-8 -nopgbrk '+fname+' -', 'r') + file_descriptor, file_name = tempfile.mkstemp(suffix=ext) + os.write(file_descriptor, content) + os.close(file_descriptor) + fp = os.popen('pdftotext -enc UTF-8 -nopgbrk '+file_name+' -', 'r') result = fp.read() fp.close() elif ext in ('.xls','.ods','.odt','.odp'): @@ -52,4 +52,4 @@ def content_index(content, filename=None, content_type=None): result = content else: result = content - return result \ No newline at end of file + return result