|
The callbacks aren't used by libomemo-c. The callbacks passed appear to
be buggy because the return value of `gcry_md_read` is passed to `free`,
but it is supposed to be automatically freed on `gcry_md_reset`.
Additionally, `gcry_md_reset` is called before the return value of
`gcry_md_read` is used, which is also against the documentation:
https://www.gnupg.org/documentation/manuals/gcrypt-devel/Working-with-hash-algorithms.html
> `gcry_md_read` returns the message digest after finalizing the
> calculation. […] The returned message digest is allocated within the
> message context and therefore valid until the handle is released or
> reseted (using `gcry_md_close` or `gcry_md_reset`. […]
|