RE: [PATCH 3/5] Tools: hv: address compiler warnings for hv_kvp_daemon.c
From: KY Srinivasan
Date: Wed Dec 10 2014 - 13:51:59 EST
> -----Original Message-----
> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
> Sent: Tuesday, December 9, 2014 7:48 AM
> To: KY Srinivasan
> Cc: Haiyang Zhang; devel@xxxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Dexuan Cui
> Subject: [PATCH 3/5] Tools: hv: address compiler warnings for
> hv_kvp_daemon.c
>
> This patch addresses two types of compiler warnings:
> ... warning: comparison between signed and unsigned integer expressions [-
> Wsign-compare] and ... warning: pointer targets in passing argument N of
> âkvp_...â differ in signedness [-Wpointer-sign]
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Thanks Vitaly.
K. Y
> ---
> tools/hv/hv_kvp_daemon.c | 25 ++++++++++++-------------
> 1 file changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c index
> 5a274ca..48a95f9 100644
> --- a/tools/hv/hv_kvp_daemon.c
> +++ b/tools/hv/hv_kvp_daemon.c
> @@ -308,7 +308,7 @@ static int kvp_file_init(void)
> return 0;
> }
>
> -static int kvp_key_delete(int pool, const char *key, int key_size)
> +static int kvp_key_delete(int pool, const __u8 *key, int key_size)
> {
> int i;
> int j, k;
> @@ -351,8 +351,8 @@ static int kvp_key_delete(int pool, const char *key,
> int key_size)
> return 1;
> }
>
> -static int kvp_key_add_or_modify(int pool, const char *key, int key_size,
> const char *value,
> - int value_size)
> +static int kvp_key_add_or_modify(int pool, const __u8 *key, int key_size,
> + const __u8 *value, int value_size)
> {
> int i;
> int num_records;
> @@ -405,7 +405,7 @@ static int kvp_key_add_or_modify(int pool, const char
> *key, int key_size, const
> return 0;
> }
>
> -static int kvp_get_value(int pool, const char *key, int key_size, char *value,
> +static int kvp_get_value(int pool, const __u8 *key, int key_size, __u8
> +*value,
> int value_size)
> {
> int i;
> @@ -437,8 +437,8 @@ static int kvp_get_value(int pool, const char *key, int
> key_size, char *value,
> return 1;
> }
>
> -static int kvp_pool_enumerate(int pool, int index, char *key, int key_size,
> - char *value, int value_size)
> +static int kvp_pool_enumerate(int pool, int index, __u8 *key, int key_size,
> + __u8 *value, int value_size)
> {
> struct kvp_record *record;
>
> @@ -659,7 +659,7 @@ static char *kvp_if_name_to_mac(char *if_name)
> char *p, *x;
> char buf[256];
> char addr_file[256];
> - int i;
> + unsigned int i;
> char *mac_addr = NULL;
>
> snprintf(addr_file, sizeof(addr_file), "%s%s%s", "/sys/class/net/",
> @@ -698,7 +698,7 @@ static char *kvp_mac_to_if_name(char *mac)
> char buf[256];
> char *kvp_net_dir = "/sys/class/net/";
> char dev_id[256];
> - int i;
> + unsigned int i;
>
> dir = opendir(kvp_net_dir);
> if (dir == NULL)
> @@ -748,7 +748,7 @@ static char *kvp_mac_to_if_name(char *mac)
>
>
> static void kvp_process_ipconfig_file(char *cmd,
> - char *config_buf, int len,
> + char *config_buf, unsigned int len,
> int element_size, int offset)
> {
> char buf[256];
> @@ -766,7 +766,7 @@ static void kvp_process_ipconfig_file(char *cmd,
> if (offset == 0)
> memset(config_buf, 0, len);
> while ((p = fgets(buf, sizeof(buf), file)) != NULL) {
> - if ((len - strlen(config_buf)) < (element_size + 1))
> + if (len < strlen(config_buf) + element_size + 1)
> break;
>
> x = strchr(p, '\n');
> @@ -914,7 +914,7 @@ static int kvp_process_ip_address(void *addrp,
>
> static int
> kvp_get_ip_info(int family, char *if_name, int op,
> - void *out_buffer, int length)
> + void *out_buffer, unsigned int length)
> {
> struct ifaddrs *ifap;
> struct ifaddrs *curp;
> @@ -1017,8 +1017,7 @@ kvp_get_ip_info(int family, char *if_name, int op,
> weight += hweight32(&w[i]);
>
> sprintf(cidr_mask, "/%d", weight);
> - if ((length - sn_offset) <
> - (strlen(cidr_mask) + 1))
> + if (length < sn_offset + strlen(cidr_mask) + 1)
> goto gather_ipaddr;
>
> if (sn_offset == 0)
> --
> 1.9.3
N§²æ¸yú²X¬¶ÇvØ)Þ{.nÇ·¥{±êX§¶¡Ü}©²ÆzÚj:+v¨¾«êZ+Êzf£¢·h§~Ûÿû®w¥¢¸?¨è&¢)ßfùy§m
á«a¶Úÿ0¶ìå