diff options
Diffstat (limited to 'libpurple/ciphers/gchecksum.c')
-rw-r--r-- | libpurple/ciphers/gchecksum.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libpurple/ciphers/gchecksum.c b/libpurple/ciphers/gchecksum.c index 11ec463e4b..3e09ff4b54 100644 --- a/libpurple/ciphers/gchecksum.c +++ b/libpurple/ciphers/gchecksum.c @@ -62,12 +62,13 @@ purple_g_checksum_digest(PurpleCipherContext *context, GChecksumType type, checksum = purple_cipher_context_get_data(context); - g_return_val_if_fail(buff_len >= required_len, FALSE); + g_return_val_if_fail(required_len >= 0, FALSE); + g_return_val_if_fail(buff_len >= (gsize)required_len, FALSE); g_return_val_if_fail(checksum != NULL, FALSE); g_checksum_get_digest(checksum, digest, &digest_len); - if (digest_len != required_len) + if (digest_len != (gsize)required_len) return FALSE; purple_cipher_context_reset(context, NULL); |