diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-01-23 18:02:53 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2020-01-30 03:49:50 +0100 |
commit | aa834b3c317b5938264d48a2ee2f24ea5278cf0d (patch) | |
tree | 178d30b531efec319e5ff35ccafb5800915839a1 | |
parent | ac9895e996e563cff42bb18e717cc44677f39066 (diff) | |
download | hardware_replicant_libsamsung-ipc-aa834b3c317b5938264d48a2ee2f24ea5278cf0d.tar.gz hardware_replicant_libsamsung-ipc-aa834b3c317b5938264d48a2ee2f24ea5278cf0d.tar.bz2 hardware_replicant_libsamsung-ipc-aa834b3c317b5938264d48a2ee2f24ea5278cf0d.zip |
ipc_nv_data_md5_calculate: print errors when ipc_client is defined.
Without that, there are no ways to know the cause of failures with
ipc_nv_data_md5_calculate.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r-- | include/rfs.h | 5 | ||||
-rw-r--r-- | samsung-ipc/rfs.c | 25 | ||||
-rw-r--r-- | tools/nv_data-md5.c | 3 |
3 files changed, 20 insertions, 13 deletions
diff --git a/include/rfs.h b/include/rfs.h index 7950f16..a374ce0 100644 --- a/include/rfs.h +++ b/include/rfs.h @@ -67,8 +67,9 @@ struct ipc_rfs_nv_write_item_response_data { * Helpers */ -char *ipc_nv_data_md5_calculate(const char *path, const char *secret, - size_t size, size_t chunk_size); +char *ipc_nv_data_md5_calculate(struct ipc_client *client, const char *path, + const char *secret, size_t size, + size_t chunk_size); int ipc_nv_data_path_check(struct ipc_client *client); int ipc_nv_data_md5_path_check(struct ipc_client *client); int ipc_nv_data_backup_path_check(struct ipc_client *client); diff --git a/samsung-ipc/rfs.c b/samsung-ipc/rfs.c index 86205ba..91ff2c0 100644 --- a/samsung-ipc/rfs.c +++ b/samsung-ipc/rfs.c @@ -32,20 +32,25 @@ #include <ipc.h> -char *ipc_nv_data_md5_calculate(const char *path, const char *secret, - size_t size, size_t chunk_size) +char *ipc_nv_data_md5_calculate(struct ipc_client *client, + const char *path, const char *secret, + size_t size, size_t chunk_size) { void *data = NULL; char *md5_string = NULL; unsigned char md5_hash[MD5_DIGEST_LENGTH] = { 0 }; MD5_CTX ctx; - if (secret == NULL) - return NULL; + if (secret == NULL) { + ipc_client_log(client, "%s: Failed: secret is NULL", __FUNCTION__); + return NULL; + } data = file_data_read(path, size, chunk_size, 0); - if (data == NULL) - return NULL; + if (data == NULL) { + ipc_client_log(client, "%s failed: data is NULL", __FUNCTION__); + return NULL; + } MD5_Init(&ctx); MD5_Update(&ctx, data, size); @@ -213,7 +218,7 @@ int ipc_nv_data_check(struct ipc_client *client) goto error; } - md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size); + md5_string = ipc_nv_data_md5_calculate(client, path, secret, size, chunk_size); if (md5_string == NULL) { ipc_client_log(client, "Calculating nv_data md5 failed"); goto error; @@ -292,7 +297,7 @@ int ipc_nv_data_backup_check(struct ipc_client *client) goto error; } - backup_md5_string = ipc_nv_data_md5_calculate(backup_path, secret, size, chunk_size); + backup_md5_string = ipc_nv_data_md5_calculate(client, backup_path, secret, size, chunk_size); if (backup_md5_string == NULL) { ipc_client_log(client, "Calculating nv_data backup md5 failed"); goto error; @@ -372,7 +377,7 @@ int ipc_nv_data_backup(struct ipc_client *client) goto error; } - md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size); + md5_string = ipc_nv_data_md5_calculate(client, path, secret, size, chunk_size); if (md5_string == NULL) { ipc_client_log(client, "Calculating nv_data md5 failed"); goto error; @@ -622,7 +627,7 @@ int ipc_nv_data_write(struct ipc_client *client, const void *data, size_t size, if (size == 0) goto error; - md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size); + md5_string = ipc_nv_data_md5_calculate(client, path, secret, size, chunk_size); if (md5_string == NULL) { ipc_client_log(client, "Calculating nv_data md5 failed"); goto error; diff --git a/tools/nv_data-md5.c b/tools/nv_data-md5.c index 78901ef..d998296 100644 --- a/tools/nv_data-md5.c +++ b/tools/nv_data-md5.c @@ -43,7 +43,8 @@ int main(int argc, char *argv[]) path = argv[1]; - md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size); + md5_string = ipc_nv_data_md5_calculate(NULL, path, secret, size, + chunk_size); if (md5_string == NULL) { fprintf(stderr, "Calculating nv_data backup md5 failed\n"); return 1; |