mirror of https://git.tukaani.org/xz.git
Add missing error check to coder.c.
With bad luck this could cause a segfault due to reading (but not writing) past the end of the buffer.
This commit is contained in:
parent
bd13b04e20
commit
919fbaff86
|
@ -617,17 +617,19 @@ coder_run(const char *filename)
|
||||||
strm.next_in = in_buf.u8;
|
strm.next_in = in_buf.u8;
|
||||||
strm.avail_in = io_read(pair, &in_buf, IO_BUFFER_SIZE);
|
strm.avail_in = io_read(pair, &in_buf, IO_BUFFER_SIZE);
|
||||||
|
|
||||||
switch (coder_init(pair)) {
|
if (strm.avail_in != SIZE_MAX) {
|
||||||
case CODER_INIT_NORMAL:
|
switch (coder_init(pair)) {
|
||||||
success = coder_normal(pair);
|
case CODER_INIT_NORMAL:
|
||||||
break;
|
success = coder_normal(pair);
|
||||||
|
break;
|
||||||
|
|
||||||
case CODER_INIT_PASSTHRU:
|
case CODER_INIT_PASSTHRU:
|
||||||
success = coder_passthru(pair);
|
success = coder_passthru(pair);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CODER_INIT_ERROR:
|
case CODER_INIT_ERROR:
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message_progress_end(success);
|
message_progress_end(success);
|
||||||
|
|
Loading…
Reference in New Issue