diff options
author | dougb <dougb@FreeBSD.org> | 2007-12-21 19:34:26 +0000 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2007-12-21 19:34:26 +0000 |
commit | a80b3812747a9837bcb27e9a7f5768abd978b072 (patch) | |
tree | 142cfe818cf6e8c3d96b204d4b39a9dd1bb83765 /usr.sbin/mergemaster | |
parent | ca176184207c9b8a9cbb9cd35b05bba195bdaf45 (diff) | |
download | FreeBSD-src-a80b3812747a9837bcb27e9a7f5768abd978b072.zip FreeBSD-src-a80b3812747a9837bcb27e9a7f5768abd978b072.tar.gz |
In the following scenario:
1. Start mergemaster
2. Interrupt it
3. < Somehow the temproot directory disappears >
4. mergemaster -r
Many bad things can happen, especially if the -i option is in use.
Therefore, add a check to make sure it still exists before we start
comparing files.
Brought to my attention by:
PR: bin/40538
Submitted by: Cyrille Lefevre <cyrille.lefevre@laposte.net>
Diffstat (limited to 'usr.sbin/mergemaster')
-rwxr-xr-x | usr.sbin/mergemaster/mergemaster.sh | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.sbin/mergemaster/mergemaster.sh b/usr.sbin/mergemaster/mergemaster.sh index e73bf0d..e21d466 100755 --- a/usr.sbin/mergemaster/mergemaster.sh +++ b/usr.sbin/mergemaster/mergemaster.sh @@ -838,6 +838,13 @@ mm_install () { return $? } +if [ ! -d "${TEMPROOT}" ]; then + echo "*** FATAL ERROR: The temproot directory (${TEMPROOT})" + echo ' has disappeared!' + echo '' + exit 1 +fi + echo '' echo "*** Beginning comparison" echo '' |