> For instance, any of the void DES_*_encrypt().? This cursory observation is > also supported by a vendor application code such as: Ah, okay. Those functions are 'just math' They depend on no external state. They can't fail. It's shifts and masking, etc. > This is basically why I'm wondering about how errors propagate in the > OpenSSL library. Functions that can fail return a status. Those that are just math are often void. There's an "error stack" where functions can put more detailed status, and it propagates; see ERR_get_error, ERR_clear_error, etc., for details.