]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Fix : decompression i/o detects flush write errors
authorYann Collet <yann.collet.73@gmail.com>
Thu, 27 Aug 2015 02:16:04 +0000 (03:16 +0100)
committerYann Collet <yann.collet.73@gmail.com>
Thu, 27 Aug 2015 02:16:04 +0000 (03:16 +0100)
Makefile
NEWS
lib/Makefile
lib/zstd.h
programs/Makefile
programs/fileio.c
programs/unzstd.1 [deleted symlink]
programs/zstdcat.1 [deleted symlink]

index 1f7e6e82346214ed78d38f5d5f21f3fb4e359c14..87d6a035c58e7b8c4eb510c24ab500a9e3928281 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@
 # ################################################################
 
 # Version number
-export VERSION=0.1.1
+export VERSION := 0.1.2
 
 PRGDIR  = programs
 ZSTDDIR = lib
diff --git a/NEWS b/NEWS
index 27d2b8a57ed68258e4d3900502b66854d4ce4d89..af1354992b3df0197a57f3ce8c35bc3588687f11 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
-r0
-initial release
+v0.1.2
+
+v0.1.1
+fix compression bug
+detects write-flush errors
+
+v0.1.0
+first release
 
index 142baae71347b623340dd8551e187b92f73d0a4c..c4e3b410a607de1ec9e86ab98076c7adc953cef2 100644 (file)
@@ -32,7 +32,7 @@
 # ################################################################
 
 # Version numbers
-VERSION?= 0.1.1
+VERSION?= 0.1.2
 LIBVER_MAJOR=`sed -n '/define ZSTD_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < zstd.h`
 LIBVER_MINOR=`sed -n '/define ZSTD_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < zstd.h`
 LIBVER_PATCH=`sed -n '/define ZSTD_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < zstd.h`
@@ -41,8 +41,7 @@ LIBVER  = $(LIBVER_MAJOR).$(LIBVER_MINOR).$(LIBVER_PATCH)
 DESTDIR?=
 PREFIX ?= /usr/local
 CFLAGS ?= -O3
-CFLAGS += -std=c99 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Wstrict-prototypes
-LDFLAGS = -I.
+CFLAGS += -I. -std=c99 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Wstrict-prototypes
 FLAGS   = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MOREFLAGS)
 
 LIBDIR ?= $(PREFIX)/lib
index 1e20b4f18871652ce8fe564842de02c2dd1d09fd..4caa385b5ec78987fd3a9a81cadd274747bdec48 100644 (file)
@@ -47,7 +47,7 @@ extern "C" {
 **************************************/
 #define ZSTD_VERSION_MAJOR    0    /* for breaking interface changes  */
 #define ZSTD_VERSION_MINOR    1    /* for new (non-breaking) interface capabilities */
-#define ZSTD_VERSION_RELEASE  0    /* for tweaks, bug-fixes, or development */
+#define ZSTD_VERSION_RELEASE  2    /* for tweaks, bug-fixes, or development */
 #define ZSTD_VERSION_NUMBER  (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE)
 unsigned ZSTD_versionNumber (void);
 
index 9bcb4279751674f31796e5afeda704fdaad139c9..7046c087d3490aa5cfaab92ea1ae3bd5c7f696ee 100644 (file)
@@ -30,7 +30,7 @@
 # fullbench32: Same as fullbench, but forced to compile in 32-bits mode
 # ##########################################################################
 
-VERSION?= v0.1.1
+VERSION?= v0.1.2
 
 DESTDIR?=
 PREFIX ?= /usr/local
@@ -100,17 +100,17 @@ install: zstd
        @ln -sf zstd$(EXT) $(DESTDIR)$(BINDIR)/unzstd
        @echo Installing man pages
        @install -m 644 zstd.1 $(DESTDIR)$(MANDIR)/zstd.1
-       @install -m 644 zstdcat.1 $(DESTDIR)$(MANDIR)/zstdcat.1
-       @install -m 644 unzstd.1 $(DESTDIR)$(MANDIR)/unzstd.1
+       @ln -sf zstd.1 $(DESTDIR)$(MANDIR)/zstdcat.1
+       @ln -sf zstd.1 $(DESTDIR)$(MANDIR)/unzstd.1
        @echo zstd installation completed
 
 uninstall:
        rm -f $(DESTDIR)$(BINDIR)/zstdcat
        rm -f $(DESTDIR)$(BINDIR)/unzstd
        [ -x $(DESTDIR)$(BINDIR)/zstd$(EXT) ] && rm -f $(DESTDIR)$(BINDIR)/zstd$(EXT)
+       rm -f $(DESTDIR)$(MANDIR)/zstdcat.1
+       rm -f $(DESTDIR)$(MANDIR)/unzstd.1
        [ -f $(DESTDIR)$(MANDIR)/zstd.1 ] && rm -f $(DESTDIR)$(MANDIR)/zstd.1
-       [ -f $(DESTDIR)$(MANDIR)/zstdcat.1 ] && rm -f $(DESTDIR)$(MANDIR)/zstdcat.1
-       [ -f $(DESTDIR)$(MANDIR)/unzstd.1 ] && rm -f $(DESTDIR)$(MANDIR)/unzstd.1
        @echo zstd programs successfully uninstalled
 
 test: test-zstd test-fullbench test-fuzzer
@@ -120,8 +120,9 @@ test32: test-zstd32 test-fullbench32 test-fuzzer32
 test-all: test test32 memtest
 
 test-zstd: zstd datagen
-       @echo "*** zstd cli write error test ***"
+       @echo "*** flush write error test ***"
        echo foo | ./zstd > /dev/full; if [ $$? -eq 0 ] ; then echo "write error not detected!"; false; fi
+       echo foo | ./zstd | ./zstd -d > /dev/full; if [ $$? -eq 0 ] ; then echo "write error not detected!"; false; fi
        @echo "*** zstd round-trip tests *** "
        ./datagen          | ./zstd -v    | ./zstd -d > $(VOID)
        ./datagen -g256MB  | ./zstd -v    | ./zstd -d > $(VOID)
index a496906dd9ab5bba47b783f9edfe022b802be2bf..5b1ff06256cb3877373b411dd3a724ee692315d3 100644 (file)
@@ -386,9 +386,9 @@ unsigned long long FIO_decompressFilename(const char* output_filename, const cha
     /* clean */
     free(inBuff);
     free(outBuff);
-    fclose(finput);
-    fclose(foutput);
     ZSTD_freeDCtx(dctx);
+    fclose(finput);
+    if (fclose(foutput)) EXM_THROW(38, "Write error : cannot properly close %s", output_filename);
 
     return filesize;
 }
diff --git a/programs/unzstd.1 b/programs/unzstd.1
deleted file mode 120000 (symlink)
index e66191d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-zstd.1
\ No newline at end of file
diff --git a/programs/zstdcat.1 b/programs/zstdcat.1
deleted file mode 120000 (symlink)
index e66191d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-zstd.1
\ No newline at end of file