mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-06 09:20:32 +01:00
libnm/crypto: fix uninitialized variable in crypto_md5_hash()
@digest_len passed to g_checksum_get_digest() must be
initialized to the size of the digest. It is an in-out paramter.
Fixes: 48ff21b5bc
This commit is contained in:
parent
9a6e1e86cc
commit
94af5e76bc
1 changed files with 6 additions and 3 deletions
|
|
@ -795,14 +795,17 @@ crypto_md5_hash (const char *salt,
|
|||
|
||||
g_checksum_reset (ctx);
|
||||
if (count++)
|
||||
g_checksum_update (ctx, (const guchar *) digest, digest_len);
|
||||
g_checksum_update (ctx, (const guchar *) digest, sizeof (digest));
|
||||
if (password_len > 0)
|
||||
g_checksum_update (ctx, (const guchar *) password, password_len);
|
||||
if (salt_len > 0)
|
||||
g_checksum_update (ctx, (const guchar *) salt, salt_len);
|
||||
g_checksum_get_digest (ctx, (guchar *) digest, &digest_len);
|
||||
|
||||
while (nkey && (i < digest_len)) {
|
||||
digest_len = sizeof (digest);
|
||||
g_checksum_get_digest (ctx, (guchar *) digest, &digest_len);
|
||||
g_assert (digest_len == sizeof (digest));
|
||||
|
||||
while (nkey && (i < sizeof (digest))) {
|
||||
*(p++) = digest[i++];
|
||||
nkey--;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue