From 57a86d9ec636c75f17a3005962ff178545e404f5 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Thu, 13 Jan 2022 16:47:18 -0500 Subject: [PATCH] Avoid updating timestamps when the destination is stdout Fixes: 9cd6c1ff4d56fc74a2cbdfd9bcc82a64e0fe4bb7 Fixes: https://github.com/facebook/zstd/issues/2997 --- programs/fileio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/programs/fileio.c b/programs/fileio.c index 89eecb9e..5338fa62 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1679,6 +1679,7 @@ static int FIO_compressFilename_dstFile(FIO_ctx_t* const fCtx, if (ress.dstFile == NULL) { int dstFilePermissions = DEFAULT_FILE_PERMISSIONS; if ( strcmp (srcFileName, stdinmark) + && strcmp (dstFileName, stdoutmark) && UTIL_stat(srcFileName, &statbuf) && UTIL_isRegularFileStat(&statbuf) ) { dstFilePermissions = statbuf.st_mode; @@ -2634,6 +2635,7 @@ static int FIO_decompressDstFile(FIO_ctx_t* const fCtx, if ((ress.dstFile == NULL) && (prefs->testMode==0)) { int dstFilePermissions = DEFAULT_FILE_PERMISSIONS; if ( strcmp(srcFileName, stdinmark) /* special case : don't transfer permissions from stdin */ + && strcmp(dstFileName, stdoutmark) && UTIL_stat(srcFileName, &statbuf) && UTIL_isRegularFileStat(&statbuf) ) { dstFilePermissions = statbuf.st_mode;