diff options
author | dtucker@openbsd.org <dtucker@openbsd.org> | 2018-06-01 04:31:48 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2018-06-04 14:54:43 +1000 |
commit | e5019da3c5a31e6e729a565f2b886a80c4be96cc (patch) | |
tree | 8cceacd3e5ed700f92824c1d9b6b538a7b6fdaea | |
parent | a1dcafc41c376332493b9385ee39f9754dc145ec (diff) |
upstream: Apply umask to all incoming files and directories not
just files. This makes sure it gets applied to directories too, and prevents
a race where files get chmodded after creation. bz#2839, ok djm@
OpenBSD-Commit-ID: 3168ee6c7c39093adac4fd71039600cfa296203b
-rw-r--r-- | scp.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: scp.c,v 1.196 2018/04/10 00:10:49 djm Exp $ */ | 1 | /* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * scp - secure remote copy. This is basically patched BSD rcp which | 3 | * scp - secure remote copy. This is basically patched BSD rcp which |
4 | * uses ssh to do the data transfer (instead of using rcmd). | 4 | * uses ssh to do the data transfer (instead of using rcmd). |
@@ -1092,6 +1092,8 @@ sink(int argc, char **argv) | |||
1092 | SCREWUP("bad mode"); | 1092 | SCREWUP("bad mode"); |
1093 | mode = (mode << 3) | (*cp - '0'); | 1093 | mode = (mode << 3) | (*cp - '0'); |
1094 | } | 1094 | } |
1095 | if (!pflag) | ||
1096 | mode &= ~mask; | ||
1095 | if (*cp++ != ' ') | 1097 | if (*cp++ != ' ') |
1096 | SCREWUP("mode not delimited"); | 1098 | SCREWUP("mode not delimited"); |
1097 | 1099 | ||