diff options
author | Mattias Nissler <mnissler@google.com> | 2016-04-04 16:17:01 +0200 |
---|---|---|
committer | Mattias Nissler <mnissler@google.com> | 2016-04-06 15:54:17 +0200 |
commit | 452df6d99c81c4eeee3d2c7b2171901e8b7bc54a (patch) | |
tree | 2c1e4941bc377422b60ce38baf0681c768691d15 /fuse_sideload.cpp | |
parent | Merge "Move selinux dependencies out of header files." (diff) | |
download | android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.tar android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.tar.gz android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.tar.bz2 android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.tar.lz android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.tar.xz android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.tar.zst android_bootable_recovery-452df6d99c81c4eeee3d2c7b2171901e8b7bc54a.zip |
Diffstat (limited to '')
-rw-r--r-- | fuse_sideload.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/fuse_sideload.cpp b/fuse_sideload.cpp index 9c3e75f89..1725e8823 100644 --- a/fuse_sideload.cpp +++ b/fuse_sideload.cpp @@ -61,7 +61,8 @@ #include <sys/uio.h> #include <unistd.h> -#include "mincrypt/sha256.h" +#include <openssl/sha.h> + #include "fuse_sideload.h" #define PACKAGE_FILE_ID (FUSE_ROOT_ID+1) @@ -269,22 +270,22 @@ static int fetch_block(struct fuse_data* fd, uint32_t block) { // block). // - Otherwise, return -EINVAL for the read. - uint8_t hash[SHA256_DIGEST_SIZE]; - SHA256_hash(fd->block_data, fd->block_size, hash); - uint8_t* blockhash = fd->hashes + block * SHA256_DIGEST_SIZE; - if (memcmp(hash, blockhash, SHA256_DIGEST_SIZE) == 0) { + uint8_t hash[SHA256_DIGEST_LENGTH]; + SHA256(fd->block_data, fd->block_size, hash); + uint8_t* blockhash = fd->hashes + block * SHA256_DIGEST_LENGTH; + if (memcmp(hash, blockhash, SHA256_DIGEST_LENGTH) == 0) { return 0; } int i; - for (i = 0; i < SHA256_DIGEST_SIZE; ++i) { + for (i = 0; i < SHA256_DIGEST_LENGTH; ++i) { if (blockhash[i] != 0) { fd->curr_block = -1; return -EIO; } } - memcpy(blockhash, hash, SHA256_DIGEST_SIZE); + memcpy(blockhash, hash, SHA256_DIGEST_LENGTH); return 0; } @@ -393,10 +394,10 @@ int run_fuse_sideload(struct provider_vtab* vtab, void* cookie, goto done; } - fd.hashes = (uint8_t*)calloc(fd.file_blocks, SHA256_DIGEST_SIZE); + fd.hashes = (uint8_t*)calloc(fd.file_blocks, SHA256_DIGEST_LENGTH); if (fd.hashes == NULL) { fprintf(stderr, "failed to allocate %d bites for hashes\n", - fd.file_blocks * SHA256_DIGEST_SIZE); + fd.file_blocks * SHA256_DIGEST_LENGTH); result = -1; goto done; } |