[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Patch to improve behaviour in gnutls_x509_crl_set_version() when `char'
Patch to improve behaviour in gnutls_x509_crl_set_version() when `char' is unsigned
Sat, 24 May 2008 09:59:59 +0000
On some platforms, char can be unsigned by default (in my case I'm using gcc
3.4.5 on arm). When that's the case, I noticed a compilation warning in
The attached patch fixes the warning, but also slightly changes the way the
test is carried out.
The documentation for the function states that the supplied version parameter
must be 1 or 2, and implies it can be higher but not 0. The patch explicitly
checks that version >= 1 without performing any arithmetic in a char type. If
the check fails, the function returns with GNUTLS_E_INVALID_REQUEST, which I
guess is the right thing to do. If the check succeeds, the previous behaviour
is used. However, a char value of 0 is never decremented, so there is never
any possibility of an overflow.
If this behaviour isn't really wanted, and the exact previous semantics of the
function should be preserved (version 0 -> 0, version 1 -> 0, version 2 -> 1
etc.) then let me know and I'll rework the patch.
Hope this helps, and bye for now,
Laurence Withers, <address@hidden> -- jabber:address@hidden
Description: Text Data
- Patch to improve behaviour in gnutls_x509_crl_set_version() when `char' is unsigned,
Laurence Withers <=