aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGao Xiang <hsiangkao@linux.alibaba.com>2022-01-31 21:17:22 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-31 21:17:22 +0000
commit459169ab4d32170623e77be607ae7ab37036c3a5 (patch)
tree81839691d77769a35e39409300014babc0ee1c95
parente60ad49783fcdae8e6b862f56b2f88c8c597e106 (diff)
parent5bafb48b1e860bef59965f553e6b7550ca6d764f (diff)
downloaderofs-utils-459169ab4d32170623e77be607ae7ab37036c3a5.tar.gz
UPSTREAM: erofs-utils: fsck: never follow exist symlinks when overwriting am: 4ce8503da7 am: 6d5d69b8db am: 5bafb48b1e
Original change: https://android-review.googlesource.com/c/platform/external/erofs-utils/+/1966843 Change-Id: Ie914f7eb4a999b5f594030c723154a0b71e4dc0a
-rw-r--r--fsck/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fsck/main.c b/fsck/main.c
index 14534b9..f2af609 100644
--- a/fsck/main.c
+++ b/fsck/main.c
@@ -496,8 +496,8 @@ static inline int erofs_extract_file(struct erofs_inode *inode)
again:
fd = open(fsckcfg.extract_path,
- O_WRONLY | O_CREAT | (fsckcfg.overwrite ? O_TRUNC : O_EXCL),
- 0700);
+ O_WRONLY | O_CREAT | O_NOFOLLOW |
+ (fsckcfg.overwrite ? O_TRUNC : O_EXCL), 0700);
if (fd < 0) {
if (fsckcfg.overwrite && tryagain) {
if (errno == EISDIR) {