QJpegHandler: err should be set before jpeg_create_decompress()
If ERREXIT2 is called in jpeg_create_decompress(), SIGSEGV occurs with no error message. ERREXIT2 macro uses jpeg_compress_struct.err to handle error case. Change-Id: I8517a4d6f6e6aa4c1c59cd1aaea435554cca7ac3 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
This commit is contained in:
parent
3853035a45
commit
24d26f6c73
@ -791,12 +791,13 @@ bool QJpegHandlerPrivate::readJpegHeader(QIODevice *device)
|
||||
state = Error;
|
||||
iod_src = new my_jpeg_source_mgr(device);
|
||||
|
||||
jpeg_create_decompress(&info);
|
||||
info.src = iod_src;
|
||||
info.err = jpeg_std_error(&err);
|
||||
err.error_exit = my_error_exit;
|
||||
err.output_message = my_output_message;
|
||||
|
||||
jpeg_create_decompress(&info);
|
||||
info.src = iod_src;
|
||||
|
||||
if (!setjmp(err.setjmp_buffer)) {
|
||||
jpeg_save_markers(&info, JPEG_COM, 0xFFFF);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user