diff --git a/lib/libshare/os/linux/smb.c b/lib/libshare/os/linux/smb.c index 8eb1894de..0679e8210 100644 --- a/lib/libshare/os/linux/smb.c +++ b/lib/libshare/os/linux/smb.c @@ -103,7 +103,7 @@ smb_retrieve_shares(void) goto out; } - if (stat(file_path, &eStat) == -1) { + if (fstat(fd, &eStat) == -1) { close(fd); rc = SA_SYSTEM_ERR; goto out; diff --git a/tests/zfs-tests/tests/functional/tmpfile/tmpfile_stat_mode.c b/tests/zfs-tests/tests/functional/tmpfile/tmpfile_stat_mode.c index 1a934a8b1..8f936d36d 100644 --- a/tests/zfs-tests/tests/functional/tmpfile/tmpfile_stat_mode.c +++ b/tests/zfs-tests/tests/functional/tmpfile/tmpfile_stat_mode.c @@ -37,12 +37,12 @@ /* * DESCRIPTION: - * Verify stat(2) for O_TMPFILE file considers umask. + * Verify fstat(2) for O_TMPFILE file considers umask. * * STRATEGY: * 1. open(2) with O_TMPFILE. * 2. linkat(2). - * 3. fstat(2)/stat(2) and verify .st_mode value. + * 3. fstat(2) and verify .st_mode value. */ static void @@ -94,6 +94,7 @@ test_stat_mode(mode_t mask) mode = fst.st_mode & 0777; if (mode != masked) errx(8, "fstat(2) %o != %o\n", mode, masked); + close(fd); } int