diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 325a0648..a2cd2469 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,11 @@ +2002-09-28 Marcus Brinkmann + + * conversion.c (_gpgme_hextobyte): Prevent superfluous + multiplication with base. Reported by Stéphane Corthésy. + + * keylist.c (gpgme_op_keylist_ext_start): Use private asynchronous + operation type in invocation of _gpgme_op_reset. + 2002-09-20 Werner Koch * ath.c: Include sys/time.h if sys/select.h is not available. diff --git a/gpgme/conversion.c b/gpgme/conversion.c index 8302f991..ad85a8a9 100644 --- a/gpgme/conversion.c +++ b/gpgme/conversion.c @@ -23,6 +23,7 @@ #include #endif +#include #include #include "gpgme.h" #include "util.h" @@ -34,7 +35,8 @@ _gpgme_hextobyte (const byte *str) int val = 0; int i; - for (i = 0; i < 2; i++) +#define NROFHEXDIGITS 2 + for (i = 0; i < NROFHEXDIGITS; i++) { if (*str >= '0' && *str <= '9') val += *str - '0'; @@ -44,7 +46,8 @@ _gpgme_hextobyte (const byte *str) val += 10 + *str - 'a'; else return -1; - val *= 16; + if (i < NROFHEXDIGITS - 1) + val *= 16; str++; } return val; diff --git a/gpgme/keylist.c b/gpgme/keylist.c index 6ae9b1ee..044fb757 100644 --- a/gpgme/keylist.c +++ b/gpgme/keylist.c @@ -633,9 +633,7 @@ gpgme_op_keylist_ext_start (GpgmeCtx ctx, const char *pattern[], { GpgmeError err = 0; - /* Keylist operations are always "synchronous" in the sense that we - don't add ourself to the global FD table. */ - err = _gpgme_op_reset (ctx, 1); + err = _gpgme_op_reset (ctx, 2); if (err) goto leave;