summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-04-18 14:48:03 -0700
committerShawn O. Pearce <sop@google.com>2009-04-18 14:48:03 -0700
commit76ca9f8145f367f83df19981da4dd934fdda471b (patch)
treed6c095928fd2b1131972206b3c3f498843a736a6 /project.py
parentaccc56d82b902e7c7a22401db710958fcb1c7b58 (diff)
downloadgit-repo-76ca9f8145f367f83df19981da4dd934fdda471b.tar.gz
Make usage of open safer by setting binary mode and closing fds
Signed-off-by: Shawn O. Pearce <sop@google.com>
Diffstat (limited to 'project.py')
-rw-r--r--project.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/project.py b/project.py
index 8d6e4b6c..0a761ef4 100644
--- a/project.py
+++ b/project.py
@@ -1070,9 +1070,7 @@ class Project(object):
1070 rev = self.GetRemote(self.remote.name).ToLocal(self.revision) 1070 rev = self.GetRemote(self.remote.name).ToLocal(self.revision)
1071 rev = self.bare_git.rev_parse('%s^0' % rev) 1071 rev = self.bare_git.rev_parse('%s^0' % rev)
1072 1072
1073 f = open(os.path.join(dotgit, HEAD), 'wb') 1073 _lwrite(os.path.join(dotgit, HEAD), '%s\n' % rev)
1074 f.write("%s\n" % rev)
1075 f.close()
1076 1074
1077 cmd = ['read-tree', '--reset', '-u'] 1075 cmd = ['read-tree', '--reset', '-u']
1078 cmd.append('-v') 1076 cmd.append('-v')
@@ -1167,7 +1165,11 @@ class Project(object):
1167 path = os.path.join(self._project.gitdir, HEAD) 1165 path = os.path.join(self._project.gitdir, HEAD)
1168 else: 1166 else:
1169 path = os.path.join(self._project.worktree, '.git', HEAD) 1167 path = os.path.join(self._project.worktree, '.git', HEAD)
1170 line = open(path, 'r').read() 1168 fd = open(path, 'rb')
1169 try:
1170 line = fd.read()
1171 finally:
1172 fd.close()
1171 if line.startswith('ref: '): 1173 if line.startswith('ref: '):
1172 return line[5:-1] 1174 return line[5:-1]
1173 return line[:-1] 1175 return line[:-1]