Browse Source

Fixed a bug with non-appending multi-session and zisofs decompression.

release-1.5.4.branch
Thomas Schmitt 13 years ago
parent
commit
9a873ed693
  1. 7
      libisofs/filters/zisofs.c
  2. 2
      libisofs/fs_image.c

7
libisofs/filters/zisofs.c

@ -565,7 +565,12 @@ int ziso_stream_uncompress(IsoStream *stream, void *buf, size_t desired)
/* Delivering data blocks */;
i = ++(rng->block_pointer_rpos);
if (i >= rng->block_pointer_fill) {
/* More data blocks than announced */
if (rng->out_counter == data->size) {
rng->state = 3;
rng->block_pointer_rpos--;
return fill;
}
/* More data blocks needed than announced */
return (rng->error_ret = ISO_FILTER_WRONG_INPUT);
}
todo = rng->block_pointers[i] - rng->block_pointers[i- 1];

2
libisofs/fs_image.c

@ -1142,8 +1142,10 @@ int iso_file_source_new_ifs(IsoImageFilesystem *fs, IsoFileSource *parent,
size_t cs_value_length = 0;
char msg[160];
#ifdef Libisofs_with_zliB
uint8_t zisofs_alg[2], zisofs_hs4 = 0, zisofs_bsl2 = 0;
uint32_t zisofs_usize = 0;
#endif
if (fs == NULL || fs->data == NULL || record == NULL || src == NULL) {
return ISO_NULL_POINTER;

Loading…
Cancel
Save