]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
don't remove() /dev/null (#316)
authorYann Collet <yann.collet.73@gmail.com>
Wed, 7 Sep 2016 05:00:08 +0000 (07:00 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Wed, 7 Sep 2016 05:00:08 +0000 (07:00 +0200)
programs/fileio.c

index b7b201e02929e4a04de1380c6640736e6ac6838c..02f42e89155324e93eac621f1cd4380e0bad3d40 100644 (file)
@@ -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;
 }