• Paul Eggert's avatar
    GnuTLS integer-overflow and style fixes · 05b8b866
    Paul Eggert authored
    This tweaks the recently-added GnuTLS improvements so that
    they avoid some integer-overflow problems and follow typical
    Emacs style a bit better.
    * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
    (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
    configure-time results are displayed.
    * src/fns.c (extract_data_from_object): Return char *, not char
    const *, since one gnutls caller wants a non-const pointer.  Use
    CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
    instead of rolling our own code.  Prefer signed types to unsigned
    when either will do.  Report problems for lengths out of range,
    instead of silently mishandling them.
    * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
    callers.  All callers of gnutls_sterror changed.
    (Fgnutls_boot): Check for integers out of range rather than
    silently truncating them.
    (gnutls_symmetric_aead): Check for integer overflow in size
    calculations.
    (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
    Prefer signed to unsigned integers where either	will do.
    (gnutls_symmetric_aead, gnutls_symmetric):
    Work even if ptrdiff_t is wider than ‘long’.
    (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
    Check for integer overflow in algorithm selection.
    05b8b866
configure.ac 186 KB