comparison mercurial/localrepo.py @ 1835:bdfb524d728a

Validate paths before reading or writing files in repository or working dir. Fixes security relevant issue134.
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 04 Mar 2006 19:01:45 +0100
parents f1f43ea22cbf
children 429bf036f2cb
comparison
equal deleted inserted replaced
1834:24881eaebee3 1835:bdfb524d728a
1677 self.dirstate.update([f], 'n', st_size=f_len, st_mtime=-1) 1677 self.dirstate.update([f], 'n', st_size=f_len, st_mtime=-1)
1678 1678
1679 remove.sort() 1679 remove.sort()
1680 for f in remove: 1680 for f in remove:
1681 self.ui.note(_("removing %s\n") % f) 1681 self.ui.note(_("removing %s\n") % f)
1682 util.audit_path(f)
1682 try: 1683 try:
1683 util.unlink(self.wjoin(f)) 1684 util.unlink(self.wjoin(f))
1684 except OSError, inst: 1685 except OSError, inst:
1685 if inst.errno != errno.ENOENT: 1686 if inst.errno != errno.ENOENT:
1686 self.ui.warn(_("update failed to remove %s: %s!\n") % 1687 self.ui.warn(_("update failed to remove %s: %s!\n") %