Do not ignore errors in crypto backend (LUKS AF).

git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@453 36d66b0a-2a48-0410-832c-cd162a569da5
This commit is contained in:
Milan Broz
2011-03-13 23:51:07 +00:00
parent 6e262e0de1
commit d66aac1683
2 changed files with 13 additions and 6 deletions

View File

@@ -62,7 +62,7 @@ static int hash_key(const char *src, size_t src_len,
r = crypt_hash_write(hd, src, src_len);
if (!r)
r = crypt_hash_final(hd, dst, dst_len);
out:
crypt_hash_destroy(hd);
return r;
}

View File

@@ -42,15 +42,22 @@ static int hash_buf(const char *src, char *dst, uint32_t iv,
{
struct crypt_hash *hd = NULL;
char *iv_char = (char *)&iv;
int r;
iv = htonl(iv);
if (crypt_hash_init(&hd, hash_name))
return 1;
crypt_hash_write(hd, iv_char, sizeof(uint32_t));
crypt_hash_write(hd, src, len);
crypt_hash_final(hd, dst, len);
return -EINVAL;
if ((r = crypt_hash_write(hd, iv_char, sizeof(uint32_t))))
goto out;
if ((r = crypt_hash_write(hd, src, len)))
goto out;
r = crypt_hash_final(hd, dst, len);
out:
crypt_hash_destroy(hd);
return 0;
return r;
}
/* diffuse: Information spreading over the whole dataset with