mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 11:26:16 +01:00
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:
parent
64ca85ceae
commit
9ddb2f8091
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user