The callback calls BIO_printf(); it's return value is properly propagated
but is not checked in the error chain dumper func; when the errors are
streamed through any BIO which fails, such failure hence remains undetected
and the BIO is being hammered instead of aborting the error dump. Different
behaviour will occur depending on type of failure and target BIO.

fix attached.



Side note:
our own tree also calls BIO_flush to ensure any 'printed' error data does
not hang around in any BIO buffers for too long; failures may arrive before
a final croak and we'd rather see as much error info as we can get then.
Feature patch attached.


-- 
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web:    http://www.hobbelt.com/
       http://www.hebbut.net/
mail:   [email protected]
mobile: +31-6-11 120 978
--------------------------------------------------

The callback calls BIO_printf(); it's return value is properly propagated but is not checked in the error chain dumper func; when the errors are streamed through any BIO which fails, such failure hence remains undetected and the BIO is being hammered instead of aborting the error dump. Different behaviour will occur depending on type of failure and target BIO.

fix attached.



Side note:
our own tree also calls BIO_flush to ensure any 'printed' error data does not hang around in any BIO buffers for too long; failures may arrive before a final croak and we'd rather see as much error info as we can get then.
Feature patch attached.


--
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web:    http://www.hobbelt.com/
       http://www.hebbut.net/
mail:   [email protected]
mobile: +31-6-11 120 978
--------------------------------------------------

Attachment: err_prn_bug1.diff
Description: Binary data

Attachment: err_prn_feature2.diff
Description: Binary data

Reply via email to