g_hmac_get_string: don't allocate and leak an unused buffer

Also document why we're not actually using the buffer for anything.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
This commit is contained in:
Simon McVittie 2011-12-12 18:34:47 +00:00
parent 64ca85ceae
commit 9ddb2f8091

View File

@ -280,9 +280,13 @@ g_hmac_get_string (GHmac *hmac)
g_return_val_if_fail (hmac != NULL, NULL); g_return_val_if_fail (hmac != NULL, NULL);
digest_len = g_checksum_type_get_length (hmac->digest_type); digest_len = g_checksum_type_get_length (hmac->digest_type);
buffer = g_malloc (digest_len); buffer = g_alloca (digest_len);
/* This is only called for its side-effect of updating hmac->digesto... */
g_hmac_get_digest (hmac, buffer, &digest_len); g_hmac_get_digest (hmac, buffer, &digest_len);
/* ... because we get the string from the checksum rather than
* stringifying buffer ourselves
*/
return g_checksum_get_string (hmac->digesto); return g_checksum_get_string (hmac->digesto);
} }