Docs: Fix a bug in xz_pipe_decomp.c example program.

This commit is contained in:
Lasse Collin 2012-06-14 10:33:01 +03:00
parent 4bd1a3bd5f
commit 905f0ab5b5
1 changed files with 9 additions and 1 deletions

View File

@ -1,7 +1,7 @@
/* /*
* xz_pipe_decomp.c * xz_pipe_decomp.c
* A simple example of pipe-only xz decompressor implementation. * A simple example of pipe-only xz decompressor implementation.
* version: 2010-07-12 - by Daniel Mealha Cabrita * version: 2012-06-14 - by Daniel Mealha Cabrita
* Not copyrighted -- provided to the public domain. * Not copyrighted -- provided to the public domain.
* *
* Compiling: * Compiling:
@ -101,6 +101,14 @@ int xz_decompress (FILE *in_file, FILE *out_file)
} while (strm.avail_out == 0); } while (strm.avail_out == 0);
} }
/* Bug fix (2012-06-14): If no errors were detected, check
that the last lzma_code() call returned LZMA_STREAM_END.
If not, the file is probably truncated. */
if ((ret == RET_OK) && (ret_xz != LZMA_STREAM_END)) {
fprintf (stderr, "Input truncated or corrupt\n");
ret = RET_ERROR_DECOMPRESSION;
}
lzma_end (&strm); lzma_end (&strm);
return ret; return ret;
} }