Hi,

I couldn't do any real device testing because I don't have any storage
space to build replicant 6 and would have had to delete replicant 11
work to do this so if this patch looks good to you it would be awesome
if you could give it a spin on a real device.

Joonas

Joonas Kylmälä:
> When compiling with warnings (-Werror -W -Wall -Wunused
> -Wunused-function) enabled we get:
> 
> rfs.c: In function ‘ipc_nv_data_md5_path_check’:
> rfs.c:115:17: error: comparison of integer expressions of different 
> signedness: ‘__off_t’ {aka ‘long int’} and ‘long unsigned int’ 
> [-Werror=sign-compare]
>   if (st.st_size < 2 * sizeof(char) * MD5_DIGEST_LENGTH) {
>                  ^
> This simplifies the comparison by making sure we have exactly 32
> bytes (2*MD5_DIGEST_LENGTH, i.e. md5 digest in ascii) in the file we
> read the MD5 digest from.
> 
> Signed-off-by: Joonas Kylmälä <joonas.kylm...@iki.fi>
> ---
>  samsung-ipc/rfs.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/samsung-ipc/rfs.c b/samsung-ipc/rfs.c
> index 114df99..93d2b6e 100644
> --- a/samsung-ipc/rfs.c
> +++ b/samsung-ipc/rfs.c
> @@ -32,6 +32,8 @@
>  
>  #include "ipc.h"
>  
> +#define MD5_DIGEST_LENGTH_ASCII (2 * MD5_DIGEST_LENGTH)
> +
>  char *ipc_nv_data_md5_calculate(struct ipc_client *client,
>                               const char *path, const char *secret,
>                               size_t size, size_t chunk_size)
> @@ -112,7 +114,7 @@ int ipc_nv_data_md5_path_check(struct ipc_client *client)
>               return -1;
>       }
>  
> -     if (st.st_size < 2 * sizeof(char) * MD5_DIGEST_LENGTH) {
> +     if (st.st_size != MD5_DIGEST_LENGTH_ASCII) {
>               ipc_client_log(client, "Checking nv_data md5 size failed");
>               return -1;
>       }
> @@ -173,7 +175,7 @@ int ipc_nv_data_backup_md5_path_check(struct ipc_client 
> *client)
>               return -1;
>       }
>  
> -     if (st.st_size < 2 * sizeof(char) * MD5_DIGEST_LENGTH) {
> +     if (st.st_size != MD5_DIGEST_LENGTH_ASCII) {
>               ipc_client_log(client,
>                              "Checking nv_data backup md5 size failed");
>               return -1;
> @@ -493,7 +495,7 @@ int ipc_nv_data_restore(struct ipc_client *client)
>       free(data);
>       data = NULL;
>  
> -     length = 2 * sizeof(char) * MD5_DIGEST_LENGTH;
> +     length = MD5_DIGEST_LENGTH_ASCII;
>  
>       data = file_data_read(client, backup_md5_path, length, length, 0);
>       if (data == NULL) {
> 
_______________________________________________
Replicant mailing list
Replicant@osuosl.org
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to