Mercurial > hg
changeset 28342:bd05d38a1002
chgserver: use basename for socket symlink
Previously we use full path and the symlink may point to outside (unsafe)
world if the directory is moved. This patch fixes it by only linking to
basename of the target. Therefore the symbolic link and socket files will
always stay in the same directory.
author | Jun Wu <quark@fb.com> |
---|---|
date | Fri, 04 Mar 2016 13:18:02 +0000 |
parents | 8286f551b7ee |
children | a6c2310b3827 |
files | hgext/chgserver.py |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/chgserver.py Thu Mar 03 18:34:19 2016 +0100 +++ b/hgext/chgserver.py Fri Mar 04 13:18:02 2016 +0000 @@ -613,7 +613,7 @@ if self.baseaddress == self.address: return tempaddress = _tempaddress(self.baseaddress) - os.symlink(self.address, tempaddress) + os.symlink(os.path.basename(self.address), tempaddress) util.rename(tempaddress, self.baseaddress) def _reloadconfig(self, signum, frame):