[gnutls-devel] GnuTLS | bug in gnutls_init() (#1414)
Read-only notification of GnuTLS library development activities
gnutls-devel at lists.gnutls.org
Tue Oct 25 15:57:34 CEST 2022
GitLab Support Bot commented:
> New response for issue #1414:
> Author: Daiki Ueno
> For applications that target newer C compiler and thus do not care much about portability, I would suggest always NULL initializing those `gnutls_*_t` so it works nicely with `__attribute__((cleanup(...)))` as in:
Huh, that used 'gnutls_session_t session = NULL;', and the compiler
was happy with it. Re-reading gnutls.h, I see that most of our
gnutls_*_t types are typedefs either for enums (no corresponding
*_init function) or as pointers to opaque struct types, as in:
typedef struct gnutls_session_int *gnutls_session_t;
and not completely opaque types, where it would have been written:
> That said, the proposed MR seems like a nice tightening.
In the MR, I documented zero initialization by calloc() or memset();
but if you are happy guaranteeing that 'gnutls_*_t obj = NULL' is
going to remain a valid compile-time initialization (that is, we can
no longer change the typedefs to be anything other than a pointer to a
type), that's an easy tweak or followup to the MR as currently posted.
On Tue, Oct 25, 2022 at 05:15:03AM +0000, Daiki Ueno (@dueno) wrote:
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/issues/1414#note_1148054059
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gnutls-devel