https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68187

--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
(In reply to Bernd Edlinger from comment #1)
[...] 
> in crypto/engine/eng_lib.c:
> 
> int engine_free_util(ENGINE *e, int locked)
> {
>     int i;
> 
>     if (e == NULL) {
>         ENGINEerr(ENGINE_F_ENGINE_FREE_UTIL, ERR_R_PASSED_NULL_PARAMETER);
>         return 0;
>     }
>     if (locked)
>         i = CRYPTO_add(&e->struct_ref, -1, CRYPTO_LOCK_ENGINE);
>     else
>         i = --e->struct_ref;
>     engine_ref_debug(e, 0, -1)
>         if (i > 0)
>         return 1;
[...]
Thanks; this is visible in full at:
  https://github.com/openssl/openssl/blob/master/crypto/engine/eng_lib.c#L116

Looking at
https://github.com/openssl/openssl/blob/master/crypto/engine/eng_int.h#L86
I see that engine_ref_debug is of the form
  fprintf (/* various things */);
when
  # ifdef ENGINE_REF_COUNT_DEBUG
and it's empty when ENGINE_REF_COUNT_DEBUG isn't defined.

Reply via email to