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
--------------------------------------------------
err_prn_bug1.diff
Description: Binary data
err_prn_feature2.diff
Description: Binary data
