From: Yann Collet Date: Wed, 7 Sep 2016 05:00:08 +0000 (+0200) Subject: don't remove() /dev/null (#316) X-Git-Tag: v1.1.0~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aad9fe54703a236e525fc02eb2370b96bbb3f6c1;p=thirdparty%2Fzstd.git don't remove() /dev/null (#316) --- diff --git a/programs/fileio.c b/programs/fileio.c index b7b201e02..02f42e891 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -732,7 +732,10 @@ static int FIO_decompressDstFile(dRess_t ress, result = FIO_decompressSrcFile(ress, srcFileName); if (fclose(ress.dstFile)) EXM_THROW(38, "Write error : cannot properly close %s", dstFileName); - if (result != 0) if (remove(dstFileName)) result=1; /* don't do anything if remove fails */ + if ( (result != 0) + && strcmp(dstFileName, nulmark) /* special case : don't remove() /dev/null (#316) */ + && remove(dstFileName) ) + result=1; /* don't do anything special if remove fails */ return result; }